通过第三台机器将文件从一台服务器传输到另一台服务器,使用密钥而不是密码

通过第三台机器将文件从一台服务器传输到另一台服务器,使用密钥而不是密码

我想将文件从一台服务器传输到另一台服务器。

scp -r [email protected]:/home/filename.php [email protected]:/home/scripts

当我运行此命令时,我收到一个答案,我需要输入密码,server.com.但我没有使用密码,而是使用密钥。我怎样才能插入密钥而不是密码?

答案1

问题可能是你正在使用第三台机器(本地机器)将文件从复制11.11.11.22server.com。我确信如果你直接登录,11.11.11.22那么你可以正常运行此命令:

 scp -r /home/filename.php [email protected]:/home/scripts

但如果你实际上是直接登录的,11.11.11.22那么你的命令就不需要这些[user]@[hostname]内容了。它可以是:

scp -r /home/filename.php [email protected]:/home/scripts

事实上,删除-r— — 因为您只是复制一个文件 — — 然后像这样运行它:

scp /home/filename.php [email protected]:/home/scripts

确保-A在 SSH 进入时使用该选项11.11.11.22SSH 手册页指出

“启用身份验证代理连接的转发。 这也可以在配置文件中按主机指定。”

这意味着您本地机器上的密钥将在 SSH 会话期间传递。因此,您最初登录时应11.11.11.22像这样:

 ssh -A [email protected]

然后您就可以server.com像这样干净地登录:

ssh [email protected]

这意味着此 SCP 命令无需输入密码即可工作:

scp -r /home/filename.php [email protected]:/home/scripts

相关内容