scpを使用してファイルを転送するとき、「権限が拒否されました。もう一度お試しください」

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を行う必要がありますが、やはり失敗します。

答え1

sshサーバー構成に問題があるようです。 SSHは使用できません。~から次のいずれかです(おそらくセキュリティ上の理由から)。

あなたは試すことができますスティーブンのアドバイスローカルコンピュータから転送します()。これにより、端末から入力を受信したときに発生する問題(サーバーに意図的に生成された可能性がある)を排除する必要があります。scp [email protected]:/home/public/backup.tar [email protected]:/home/public/

これが役に立たない場合は、プロバイダが発信SSH接続を許可しない可能性があります。この場合、2つのオプションがあります。

  • プロバイダに発信するSSH接続を有効にするように要求

または

答え2

私が理解したのは、次の認証が正常に機能しているようですlocalhostserver.alocalhostserver.b。だからssh server.a動作しますssh server.b。動作します。 →サーバーの「パスワードの読み取り」プロセスに奇妙な問題があるため、接続にserver.x失敗しました。server.y

最も簡単な解決策は、あるサーバーから別のサーバーに自動的に接続するようにSSHキーを構成することです。

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

server.aserver.bキー認証で接続が可能になります。server.b他の方向でも同様にしてください。

scpその後、「パスワードを読む」の問題を回避しながら、自動認証を使用してください。

関連情報