* nixサーバー間でSFTPを設定するときの初期ハンドシェイクはオプションですか?

* nixサーバー間でSFTPを設定するときの初期ハンドシェイクはオプションですか?

以下のように *nix サーバー間で SFTP を設定しています。

  1. 次のコマンドを実行して、送信するサーバーに公開鍵を生成します。

    [user1@server1] $ /usr/local/bin/ssh-keygen -t rsa -b 1024

  2. 次に、「id_dsa.pub」ファイルを/home/remote_user1/.ssh/authorized_keysリモートシステムserver2のファイルにコピーします。

  3. サーバー2に接続する:

    $ sftp remote_user1@server2

その後、ハンドシェイクを完了するためにパスワードを求めるメッセージが一度表示され、その後のすべてのSFTP接続は直接接続されます。

しかし最近、他のチームは初期ハンドシェイクなしで私たちのサーバーに直接接続できました。通常、私はremote_user1のハンドシェイクパスワードを提供する必要がありました。

それでは、どの設定変更(もしあれば)でパスワードなしでハンドシェイクを完了できますか? SFTPハンドシェイクプロセスをよりよく理解するのに役立つ可能性があるリンクも非常に役立ちます。このトピックに関する多くの情報が見つからないためです。

答え1

私はSSHでそのような「ハンドシェイク」プロセスを知りません。ただし、説明した手順では、SSHに認証にキーを使用するように指示したように見えないため、id_dsaパスワード認証に置き換えられます。パスワードを提供すると、クライアントで実行されている一部のパスワードまたはキーキャッシングデーモンはその情報を保存し、後続の接続で再利用できますか?

あなたが見ているのがこれである可能性はありますか?

id_dsaその場合は、リモートサーバーがその公開鍵を知って認証に使用できるようにする場合は、SSHに認証に使用するように指示します。

OpenSSHのマニュアルページは次のように言います:

-i identity_file
      Selects a file from which the identity (private key) for RSA or DSA authentication
      is read.  The default is ~/.ssh/identity for protocol version 1, and
      ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol version 2. (...)

Solarisが似ている場合、SSHは./id_dsa

答え2

わかりましたが、権限を誤って設定して.ssh資格authorized_keys情報を入力する必要がありました。

~/.sshディレクトリには権限700または権限があります755が、775他のユーザーはファイルの内容にアクセスできませんauthorized_keys。他のユーザーにファイルへの書き込みアクセス権を付与すると、セキュリティポイント全体が失われます。

~/.ssh/authorized_keys400ファイルには権限(ユーザーのみ読み取り可能)または権限600(ユーザーのみ書き込み可能)があります。

関連情報