通过 ssh 和 scp 连接并自动输入密码
Connect through ssh and scp and type in password automatically
我知道这个问题已经被问过好几次了,但我遇到了另一个问题。我在我的脚本中有一部分通过 ssh
和 scp
连接,每次我 运行 脚本它总是要求输入密码。你们中的大多数人可能会回答我应该使用 expect
或 sshpass
,但我没有这两个。我试过 运行ning:
compgen -c
并且不存在 expect
和 sshpass
。
是否有任何替代命令?我将衷心感谢您的帮助。谢谢
更新:我也无法安装任何这些,因为我只是一个普通用户。
首先我以testuser登录服务器A,输入ff命令:
ssh-keygen -d
不要输入任何密码。
这将在文件夹 ~/.ssh/
中生成文件
然后scp
文件rsa_id.pub
(public键)到服务器B.
scp ~/.ssh/id_dsa.pub testuser@B:/home/testuser/.ssh/authorized_keys2
反之亦然(如果您想同时访问两者)。然后您现在可以从一台服务器传输到另一台服务器,而无需询问您的密码。
如果您不想为无密码访问设置密钥(违反规则?),您可以设置 "SSH connection sharing"。
将这些行插入到您的 .ssh/config
文件中:
ControlMaster auto
ControlPath /tmp/ssh_%r@%n:%p
ControlPersist 8h
现在,当您从具有该配置的机器登录服务器时,它会第一次询问您的密码,并且在闲置 8 小时后才会再次询问(因此,您会得到通常每天问一次。
它所做的是在后台保持连接打开,然后为所有 SSH 会话重新使用相同的连接。这提供了一个有用的连接速度提升,并且意味着您不需要重新验证。总而言之,它非常适合加速脚本化 SSH 和 SCP 命令。
我知道这个问题已经被问过好几次了,但我遇到了另一个问题。我在我的脚本中有一部分通过 ssh
和 scp
连接,每次我 运行 脚本它总是要求输入密码。你们中的大多数人可能会回答我应该使用 expect
或 sshpass
,但我没有这两个。我试过 运行ning:
compgen -c
并且不存在 expect
和 sshpass
。
是否有任何替代命令?我将衷心感谢您的帮助。谢谢
更新:我也无法安装任何这些,因为我只是一个普通用户。
首先我以testuser登录服务器A,输入ff命令:
ssh-keygen -d
不要输入任何密码。
这将在文件夹 ~/.ssh/
然后scp
文件rsa_id.pub
(public键)到服务器B.
scp ~/.ssh/id_dsa.pub testuser@B:/home/testuser/.ssh/authorized_keys2
反之亦然(如果您想同时访问两者)。然后您现在可以从一台服务器传输到另一台服务器,而无需询问您的密码。
如果您不想为无密码访问设置密钥(违反规则?),您可以设置 "SSH connection sharing"。
将这些行插入到您的 .ssh/config
文件中:
ControlMaster auto
ControlPath /tmp/ssh_%r@%n:%p
ControlPersist 8h
现在,当您从具有该配置的机器登录服务器时,它会第一次询问您的密码,并且在闲置 8 小时后才会再次询问(因此,您会得到通常每天问一次。
它所做的是在后台保持连接打开,然后为所有 SSH 会话重新使用相同的连接。这提供了一个有用的连接速度提升,并且意味着您不需要重新验证。总而言之,它非常适合加速脚本化 SSH 和 SCP 命令。