web-dev-qa-db-ja.com

sftpと公開鍵

他の人がホストしているサーバーにsftpしようとしています。

これが機能することを確認するために、標準を使用しましたsftp [email protected]私はパスワードを要求され、それはうまくいきました。

私は、週に1回ファイルを送信するようにcronスクリプトを設定しているので、authorized_keysファイルに追加したと主張する公開鍵を与えました。

sftp [email protected]もう一度、パスワードの入力を求められますが、パスワードが機能しません...

Connecting to [email protected]...
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied (publickey,password).
Couldn't read packet: Connection reset by peer

ただし、enter(パスワードなし)を押すだけで問題なくログインできたことに気付きました。

これが私の質問です:

  1. 私のsftp接続が使用しているプラ​​イベートキー/プルビックキーのペアを確認する方法はありますか?
  2. 使用するキーペアを指定することはできますか?
  3. すべてが正しく設定されている場合(正しいキーペアを使用して承認済みファイルに追加されている場合)、空白のパスワードの入力を求められるのはなぜですか?

よろしくお願いします!

[〜#〜] update [〜#〜]実行したばかりsftp -vvv [email protected]

....
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: SHA1 fp 45:1b:e7:b6:33:41:1c:bb:0f:e3:c1:0f:1b:b0:d5:e4:28:a3:3f:0e
debug3: sign_and_send_pubkey
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

公開鍵を使用しようとしているようです...何が欠けていますか?

4
icelizard

debug3:秘密鍵を試す:/root/.ssh/id_dsa

debug3:そのようなIDはありません:/root/.ssh/id_dsa

Rootユーザーとして鍵ペアを作成しましたか? /root/.ssh/id_dsaが存在しないように見えるため(または、権限が間違っている可能性があります:rootのみが読み取り/書き込み可能である必要があります。world/ groupの読み取り/書き込みアクセスは許可されていません)。

編集

lsの外観からrsa鍵を生成したようですが、dsa鍵を提供しています。

1
gravyface

新しい端末を開き、他のポートでデバッグモード(-dオプション)でsshdを実行します。デバッグモードは、フルパスを使用する場合にのみ機能します。そう

`which sshd` -d -p 9999

そのコンソールの標準出力を見て、sftpを再試行してください

sftp -oPort=9999 [email protected]

出力を確認し、何が起こっているのか理解できない場合は、ここに貼り付けてください。

0
Gabor Vincze

空のrootパスワードでログインできると言っていますか?私はこれを検討することを強く検討し、アカウントが侵害されていないことを確認します。

ls -l /root/.ssh/id_dsa

戻るはずです

-rw------- root ...
0
northox

sshは、権限に関して非常に厳格です。また、キーをどのように指定していますか? sshにデフォルトの〜/ .ssh/id_rsaを試させますか?

これを使用してCLIでキーを指定してみてください:-oIdentityFile =/root/.ssh/id_rsa

Rootとしてサーバーにアクセスできる場合は、auth.logを確認すると、キーが拒否されている理由を確認できます...しかし、サーバーが一時的にキーを受け入れるように見えるのは非常に興味深いことです。

0
UtahJarhead