web-dev-qa-db-ja.com

scpはなぜ許可を求め続けますか?

私はubuntuコマンドラインを使用してサーバーにファイルをアップロード/ダウンロードしようとしていますが、どういうわけか許可を拒否し続けています。 -Fと-iを使用してみましたが、どちらも機能しません。

私は次のようなものを試しました

Sudo scp -v /path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload
Sudo scp -v -i ~/.s/path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload
Sudo scp -v -F ~/.ssh/xxx.pem /path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload

上記は単にアップロードしようとしています。ダウンロードでも同じですが、もちろん順序が逆になりましたが、うまくいきませんでした。ダウンロードでは、ターミナルを使用してサーバーに既にログインし、このようなものを使用しましたが、逆にSudo scp -v /path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload

編集:

このようなエラーを取得し、タッチを使用して、問題なくファイルを作成できるようにしました

debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: Host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server Host key: ecdsa-sha2-nistp256 SHA256:QgAQzu59hpmTEGkNnOdEeflCYVImcwLLU3qQD7foqbE
debug1: Host 'ip-xxx-xx-xx-xx' is known and matches the ECDSA Host key.
debug1: Found key in /home/ubuntu/.ssh/known_hosts:1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ubuntu/.ssh/id_rsa
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
1
Dora

問題がいくつかあります。

最初に、ローカルで、scpを実行する場所、およびサーバーでアクセス許可を区別する必要があります。

次に、Sudoでscpを実行するときに、rootとしてscpを実行していることを理解する必要があります。これはローカルのアクセス許可に影響します。ルートとしてscpを実行しても、ubuntuとしてサーバーにアクセスしているため、サーバーの権限には影響しません。

Scpをrootとして実行している(Sudoを使用)ため、問題の大部分が始まると思います

通常のユーザーとしてscpまたはsshを実行することから始めます。私の推測では、ルートとしてscpを実行しているため、〜/ .sshのパーミッションとキーはすべて間違っています。

Sudo chown $YOUR_USER:$YOUR_USER ~$YOUR_USER/.ssh

http://bodhizazen.com/Tutorials/SSH_keys および http://bodhizazen.com/Tutorials/SSH_security を参照してください

次に、ログインユーザーにはローカルマシン上のファイルにアクセスする権限が必要です/path/to/my/file/およびサーバーユーザー「ubuntu」には、サーバー上のファイルにアクセスする権限が必要です、~/path/to/where/upload

そのアドバイス以外に具体的な質問がある場合は、具体的な詳細が必要です。

ローカルユーザー名、転送する正確なファイル、ローカルマシンとサーバーの所有権と権限、〜/ .sshと転送するファイルの両方、実行している正確なコマンドとすべての出力。

2
Panther

関連するメッセージは次のとおりです。

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ubuntu/.ssh/id_rsa
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

接続しているSSHサーバー(他のコンピューター)は(パスワードを入力するような他の方法ではなく)公開鍵認証のみを受け入れ、SSHクライアント(現在のコンピューター)の公開鍵はどれもSSHサーバーの~/.ssh/authorized_keysに追加されました。それを修正するには:

  1. ユーザーubuntuとしてSSHサーバーにログオンします
  2. SSHクライアントの~/.ssh/id_rsa.pubファイル(または.pub内の他の~/.sshファイルの1つ)の内容をSSHサーバーの~/.ssh/authorized_keysファイルにコピーします
  3. SSHクライアントでssh ubuntu@whateverを実行してSSHサーバーに接続してみてください
2
Chai T. Rex