使用中に「許可拒否」エラーに関する多くの投稿を確認しましたが、scp
私の質問に対する回答が見つかりませんでした。
AWSの同じネットワークに2つのUbuntuサーバーがあります(サーバー「A」と「B」と仮定)。ファイルを別のサーバーにコピーしようとすると、AからBには機能しませんが、BからAに効果があります。 (下記参照)
サーバー「A」では、
ubuntu@server-a ~ $ ls -alt server*
-rwxr-xr-x 1 ubuntu ubuntu 8152 Aug 9 14:26 server.xml.bak
ubuntu@server-a ~ $ scp -P 443 server.xml.bak [email protected]:/home/ubuntu/
Permission denied (publickey).
lost connection
ubuntu@server-a ~ $ scp -P 443 /home/ubuntu/server.xml.bak [email protected]:/home/ubuntu/
Permission denied (publickey).
lost connection
ここにリモートファイルのコピーも試しましたが、失敗しました。
ubuntu@server-a ~ $ scp -P 443 [email protected]:/home/ubuntu/sakila.sql .
Permission denied (publickey).
しかし、サーバー「B」では、すべてが正常です。
ubuntu@server-b ~ $ scp -P 443 [email protected]:/home/ubuntu/server.xml.bak .
server.xml.bak 100% 8152 8.0KB/s 00:00
ubuntu@server-b ~ $ scp -P 443 sakila.sql [email protected]:/home/ubuntu/
sakila.sql 100% 3153KB 3.1MB/s 00:00
ご覧のとおり、これは権限の問題ではありません。すべての操作は「ubuntu」ホームディレクトリの「ubuntu」によって実行され、ファイルも755モードで「ubuntu」によって所有されます。
だから今は何が間違っているのか混乱しています。
答え1
提案したように、元のコメントを回答に移動し、同様の問題が発生した場合に備えて、より詳細な情報を提供します。
@lgeorgetのコメントからヒントを得ました。コマンドを実行しscp -v
、秘密鍵が欠落しているためであることがわかりました。
セキュリティ上の理由から、サーバーの秘密鍵をすべて削除し、秘密鍵の管理にPageantを使用しました。このシナリオでは、PuTTYを使用してB(BはBaschen Server)に接続し、別のPuTTY端末を開き、Bに再接続し、SSHを介してAに接続します。したがって、美人コンテストはBの秘密鍵を処理できますが、Aの秘密鍵は直接処理できません。 (これを識別できません。)
結果として、BからターゲットサーバーAへのscpコマンドは機能しますが、AからターゲットサーバーBへのscpコマンドは機能しません。始める。
テストのために秘密鍵をAにアップロードしましたが、Aのscpコマンドも正しく機能します。
秘密鍵をサーバーに保持できないので、サーバーBでscpコマンドを使用する必要があるようです。