web-dev-qa-db-ja.com

scpでファイルを転送しているときに「アクセスが拒否されました。再試行してください」

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が行うことになっていますが、それも失敗します。

5
n0pe

これはサーバーのssh設定に問題があるようです おそらくセキュリティ上の理由から)サーバーからsshfromすることはできません。

---(Stephaneの提案 を試して、ローカルマシンからの転送を行うことができます(scp [email protected]:/home/public/backup.tar [email protected]:/home/public/)。これは、ターミナルからの入力の取得に関する問題を除外する必要があります(サーバーで意図的に作成された可能性があります)。

それでも問題が解決しない場合は、プロバイダーが発信ssh接続を許可していない可能性があります。その場合、2つのオプションが残されます。

  • プロバイダーに発信SSH接続を有効にするよう依頼する

または

3
rozcietrzewiacz

私が理解しているように、次の認証は正しく機能しているようですlocalhostserver.aおよびlocalhostserver.b。そう、 ssh server.aは機能し、ssh server.b機能します。接続server.xserver.yサーバーでの「パスワードの読み取り」手順に関する奇妙な問題が原因で失敗します。

最も簡単な回避策は、1つのサーバーから別のサーバーに自動的に接続するようにsshキーを構成することです。

server.a$ ssh-keygen   #use default answers and empty passphrase
server.a$ ssh-copy-id server.b

これにより、server.aserver.bキー認証を使用した接続。同じことをserver.b反対方向。

その後、scpが自動認証で機能し、「パスワードの読み取り」の問題を回避できることを願っています。

3