web-dev-qa-db-ja.com

rsync後にアクセス権が拒否されました(公開鍵)

免責事項:これは完全に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/

その後

rsync -rave "ssh -i keyfile2.pem" local_folder/ ec2-user@secondmachineip:

どちらも成功しました。

問題は、2番目のマシン(最初のマシンは問題ありません)に再度sshすると、漠然とすることです

Permission denied (publickey).

接続をrsyncする前に問題なく動作し、キーファイルが破損した場合でも、バックアップから復元して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: bits set: 494/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: keyfile2.pem (0x0), explicit
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: keyfile2.pem
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey: RSA *here goes the rsa*
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

地獄が起こったことの手がかりはありますか?私は無知です。

前もって感謝します

5
TheVet

-aを使用してルートフォルダーに転送する場合、保護機能またはRsyncのバグがあることに注意してください。

ローカルフォルダーが、Cow.txtを含むMusicを呼び出す場合

rsync -a Music/ [email protected]:/usr/ 

musicフォルダーのcow.txtファイルをusr /に移動しても、ログインできます。

rsync -a Music/ [email protected]:/root/ 

cow.txtファイルを/ root /に移動し、認証済みのキーは影響を受けませんが、その後[email protected]でログインできません。

なぜこれが発生し、それを説明するサーバーのログに何も表示されなかった理由がわかりません。

しかし、少なくとも問題を回避するのは簡単です

リモートサーバーとローカルサーバーの両方で、実行中のrsyncバージョン3.1.1プロトコルバージョン31

ubuntu 16.04

0
conteh

rsyncコマンド、second-remote-Host/home/username/.sshssh構成を、最初のリモートの.sshフォルダーの内容で上書きします-ホスト

それを確認する方法は次のようになります:

  • firstmachineipからlocal_folderに(rsyncを使用して)コピーする
  • local_folderから.sshフォルダーを削除
  • local_folderからsecondmachineipに(rsyncを使用して)コピーします。
0
Yaron