我想将文件从一台服务器传输到另一台服务器。
scp -r [email protected]:/home/filename.php [email protected]:/home/scripts
当我运行此命令时,我收到一个答案,我需要输入密码,server.com.
但我没有使用密码,而是使用密钥。我怎样才能插入密钥而不是密码?
答案1
问题可能是你正在使用第三台机器(本地机器)将文件从复制11.11.11.22
到server.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.22
。SSH 手册页指出:
“启用身份验证代理连接的转发。 这也可以在配置文件中按主机指定。”
这意味着您本地机器上的密钥将在 SSH 会话期间传递。因此,您最初登录时应11.11.11.22
像这样:
ssh -A [email protected]
然后您就可以server.com
像这样干净地登录:
ssh [email protected]
这意味着此 SCP 命令无需输入密码即可工作:
scp -r /home/filename.php [email protected]:/home/scripts