2台のサーバー(AとB)とローカルマシンがあります。サーバーAからサーバーBにファイルを転送しようとしています。
サーバーAから:
scp ./backup.tar [email protected]:/home/public/
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey, password).
lost connection
サーバーBから:
scp [email protected]:/home/public/backup.tar .
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey, password).
lost connection
ローカルコンピューターから試行した場合も同じエラーメッセージが表示されます。どうしたの?
これは、デバッグフラグを使用してサーバーAからサーバーBにsshしようとしたときに得られるものです。
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/private/.ssh/identity
debug1: Trying private key: /home/private/.ssh/id_rsa
debug1: Trying private key: /home/private/.ssh/id_dsa
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
debug1: No more authentication methods to try.
Permission denied (publickey,password).
端末が見つからないということですか?サーバーBはサーバーAのサブドメインであることを述べておきます。ただし、私のホスティングプロバイダーはそれらを完全に異なるエンティティとして認識し、同じLPARでホストされていません。
結論ホスティングプロバイダーにメールを送信しましたが、sshのバージョンとOS(freeBSD)に関連する小さなバグがあるようです。現在、私の回避策は、(1)ファイルをローカルでマシンにscpし、(2)ファイルをローカルで2番目のサーバーにscpすることです。これは何 scp -3
が行うことになっていますが、それも失敗します。
これはサーバーのssh
設定に問題があるようです おそらくセキュリティ上の理由から)サーバーからsshfromすることはできません。
---(Stephaneの提案 を試して、ローカルマシンからの転送を行うことができます(scp [email protected]:/home/public/backup.tar [email protected]:/home/public/
)。これは、ターミナルからの入力の取得に関する問題を除外する必要があります(サーバーで意図的に作成された可能性があります)。
それでも問題が解決しない場合は、プロバイダーが発信ssh接続を許可していない可能性があります。その場合、2つのオプションが残されます。
または
ローカルマシンを介してファイルを転送します。
scp -3 [email protected]:/home/public/backup.tar [email protected]:/ home/public /
私が理解しているように、次の認証は正しく機能しているようですlocalhost
→server.a
およびlocalhost
→server.b
。そう、 ssh server.a
は機能し、ssh server.b
機能します。接続server.x
→server.y
サーバーでの「パスワードの読み取り」手順に関する奇妙な問題が原因で失敗します。
最も簡単な回避策は、1つのサーバーから別のサーバーに自動的に接続するようにsshキーを構成することです。
server.a$ ssh-keygen #use default answers and empty passphrase
server.a$ ssh-copy-id server.b
これにより、server.a
→server.b
キー認証を使用した接続。同じことをserver.b
反対方向。
その後、scp
が自動認証で機能し、「パスワードの読み取り」の問題を回避できることを願っています。