我正在尝试在两个基于云的服务器实例之间传输文件,这两个实例都运行 Ubuntu 16.04。两者都配置了 SSH 密钥身份验证,并且我能够使用 PuTTY 成功地通过 SSH 进入每个实例。
我该如何配置它,以便我可以通过 PuTTY SSH 进入其中一个,然后通过 SCP 传输文件到另一个?
答案1
您需要为需要发送文件的服务器生成私钥/公钥对。然后您需要将公钥复制到另一台服务器以供正确的用户使用。
ssh-keygen -t rsa
# follow the prompts that this command gives you
# you don't have to set a password on the key if you want
# to use ssh in scripts, now copy the pub key to the server
ssh-copy-id user@otherserver
您需要在/etc/ssh/sshd_config
接收公钥的服务器中暂时允许密码验证。ssh-copy-id
命令完成后,您可以将其重新设置为仅密钥。
Digital Ocean 有关于如何设置 SSH 密钥。
答案2
您需要在客户端上运行 ssh 身份验证代理(在 openssh 中称为 ssh-agent,在 putty 中称为 AFAIR - pageant)并允许在连接中使用身份验证代理转发(在 openssh 中支持 ForwardAgent,在 putty 中不知道)。