免责声明:这可能与 Ubuntu 不完全相关,但由于某种原因 serverfault 在发布时给了我一个错误,而且我认为你们中的一些人之前可能已经偶然发现了这样的事情
我遇到了一个奇怪的问题。我有多个 ec2 实例正在管理,我不得不将一些隐藏文件从 Ubuntu 复制到 Amazon Linux 实例。
要走的路应该是 rsync AFAIK,因为 pem 文件在我的本地机器上 - Mac OS X 10.10.5 - 我做了我必须做的事情:
rsync -rave "ssh -i keyfile1.pem" ubuntu@firstmachineip:folder_inside_home/ local_folder/
Run Code Online (Sandbox Code Playgroud)
进而
rsync -rave "ssh -i keyfile2.pem" local_folder/ ec2-user@secondmachineip:
Run Code Online (Sandbox Code Playgroud)
两者都成功了。
问题是当再次 ssh 到第二台机器时(第一台很好)给了我模糊的
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
请注意,在 rsyncing 连接之前没有问题,即使密钥文件被损坏,我也从备份中恢复它chmod 600 keyfile2.pem并处理甚至尝试chmod 400 keyfile2.pem
ssh -vvv -i keyfile2.pem ec2-user@secondmachineip在确定指纹已知后,我还将保留输出的最后一部分:
debug1: Host 'secondmachineip' is known and matches the RSA host key.
debug1: Found key in /Users/thevet/.ssh/known_hosts:10
debug2: …Run Code Online (Sandbox Code Playgroud)