8

クライアントから SFTP サーバーに接続する場合、クライアント ソフトウェアに提供する必要があるのは、公開キーではなく秘密キーだけです。[1] と [2] から、どちらもクライアント ソフトウェアが公開鍵を知っている必要があるため、これがどのように機能するかはわかりません。

SFTPの仕組みについての私の理解は

設定

  • client: 秘密鍵と公開鍵のペアを生成します。

  • クライアント: 公開鍵をサーバーに送信します

  • サーバー: この公開鍵を承認済み鍵リストに追加します

接続中

  • client: サーバーに公開鍵を伝える

  • サーバー: 公開鍵が承認されているかどうかを確認し、承認されていない場合は拒否し、そうでない場合はランダムなセッション ID をクライアントに送信します

  • client: クライアントは秘密鍵を使用してランダムなセッション ID をエンコードし、サーバーに送信します

  • server: 公開鍵で復号化し、身元を確認します。

この場合、クライアントには公開鍵が必要です。ただし、これは提供しませんでしたが、SFTP クライアントは引き続きサーバーに接続できます。では、この SFTP プロトコルは実際にはどのように機能するのでしょうか?

[1] http://www.openssh.org/txt/rfc4252.txt

[2] https://www.eldos.com/security/articles/1962.php

4

1 に答える 1