连接VPS时,我有以下两个手动运行的命令:
eval ssh-agent $SHELL
ssh-add /home/duvdevan/.ssh/id_rsa
我尝试将它们添加到中,ssh.sh
并使用以下命令在该目录中运行:
./ssh.sh
但是什么也没发生。
我不是那种bash
精明的人,所以不胜感激。
除了运行外,您还需要提供脚本源:
. ./ssh.sh
否则,该eval
命令设置的环境变量将在您当前的shell中不可见,因此它不知道在哪里可以找到正在运行的ssh代理。
为了提供更多背景知识,这是它的工作原理:
ssh-agent
命令将启动ssh代理,并打印以标准输出您需要设置以连接到代理的环境变量。输出格式化为要执行的命令。为了进行测试,您可以运行此命令并查看其输出内容eval
命令执行所打印的命令ssh-agent
。如前所述,这些是用于设置环境变量的命令。执行完这些后,您将在此shell中运行的ssh命令将知道在哪里可以找到代理ssh-add
由于之前设置了环境变量,因此该命令能够找到代理./ssh.sh
,变量将在该脚本的进程内设置,并且在脚本完成后将更长时间可用ssh.sh
使用来采购脚本.
,其中的命令将在当前shell中执行,因此仍然设置了环境变量,因此与ssh相关的命令可以找到代理本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句