serverB から serverA にファイルをコピーしようとすると、次のエラーが発生します。
root@server:~# scp /root/test.txt [email protected]:/home/somefolder/
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
serverA では、パスフレーズのない公開/秘密キー ペアを作成しました。serverB では、公開キーを .ssh/authorized_keys ファイルに追加しました。フォルダーとファイルは両方とも root が所有しています。
最初はパスフレーズを使ってこれを試しましたが、うまくいかなかったので、パスフレーズなしで別のキーを作成しました。どちらも同じ結果になります。
これはファイアウォールの問題ではありません。serverA は Centos です。serverB は Ubuntu です。
答え1
私も同じ問題に直面していました。これが役に立つことを願っています。
scp -rp -i yourfile.pem ~/local_directory username@instance_url:directory
これを機能させるには、権限も正しくなければなりません。
答え2
scp を詳細モード (-vvv) で実行し、そこで問題を特定できるかどうかを確認します。宛先 (またはソース) の .ssh/authorized_key ファイルの権限が開きすぎている可能性があります。
答え3
結局、次のように scp コマンドで ID を指定する必要がありました。
scp -rp -i /root/.ssh/server /home/user-data/* [email protected]:/home/user-data
ここで、「/root/.ssh/server」は使用する秘密鍵の場所です。権限と所有権も正しくなければなりません。
答え4
/var/log/secure
ファイルには何が表示されていますか? おそらく.ssh/*
権限が間違っているのでしょう。
したがって、ssh -v
コマンドを実行して問題が何であるかを確認することができます。