gpt4 book ai didi

ssh - 如何使 ssh-add 从文件中读取密码?

转载 作者:行者123 更新时间:2023-12-03 11:48:40 24 4
gpt4 key购买 nike

我正在尝试向 ssh-agent 添加 key 想要ssh-add从我正在使用的 key 文件中读取密码。这怎么可能?
如何从 shell 脚本自动执行此过程?

最佳答案

根据您的发行版和 ssh-add 的版本,您可以使用或不使用 -p以这种方式从标准输入读取密码的 ssh-add 选项:

cat passfile | ssh-add -p keyfile

如果这不起作用,您可以使用 Expect ,一个 Unix 工具,使交互式应用程序非交互式。你必须从你的包管理器安装它。

我已经为您编写了一个工具。只需将内容复制到名为 ssh-add-pass 的文件中并对其设置可执行权限 ( chmod +x ssh-add-pass)。您还可以将其复制到/usr/bin 或/usr/local/bin 以便从 $PATH 搜索中访问。
#!/bin/bash

if [ $# -ne 2 ] ; then
echo "Usage: ssh-add-pass keyfile passfile"
exit 1
fi

eval $(ssh-agent)
pass=$(cat $2)

expect << EOF
spawn ssh-add $1
expect "Enter passphrase"
send "$pass\r"
expect eof
EOF

用法很简单: ssh-add-pass keyfile passfile

关于ssh - 如何使 ssh-add 从文件中读取密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13033799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com