SFTP 認証方法の設定
SFTP は、リモートサーバへの安全なアクセスを確保するために、さまざまな認証方法をサポートしています。最も一般的な 2 つの認証方法は、パスワードベースの認証と公開鍵認証です。
パスワードベースの認証
パスワードベースの認証は最も簡単な方法で、ユーザーがユーザー名とパスワードを提供してリモートサーバに認証します。この方法は、小規模なデプロイメントや、SFTP を時折のファイル転送に使用する場合に適しています。パスワードベースの認証を設定するには、次のコマンドを使用できます。
sftp user@remote_server
プロンプトが表示されたら、正しいユーザー名とパスワードを入力して SFTP 接続を確立します。
公開鍵認証
公開鍵認証は、ネットワーク上でパスワードを共有する必要がないため、より安全で推奨される SFTP アクセス方法です。この方法では、公開鍵と秘密鍵のペアを生成し、リモートサーバを設定して公開鍵を認証に使用するようにします。
Ubuntu 22.04 システムで公開鍵認証を設定するには、次の手順に従います。
ssh-keygen
コマンドを使用して公開鍵と秘密鍵のペアを生成します。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
-
生成された公開鍵(通常は ~/.ssh/id_rsa.pub
にあります)をリモートサーバの承認済みキーファイル(通常は ~/.ssh/authorized_keys
)にコピーします。
-
SSH デーモンの設定ファイル (/etc/ssh/sshd_config
) を編集し、次の設定が有効になっていることを確認して、リモートサーバが公開鍵認証を使用するように設定します。
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
- 変更を適用するために SSH デーモンを再起動します。
sudo systemctl restart sshd
これで、SFTP を使用してリモートサーバに接続するときは、次のコマンドを使用して秘密鍵で認証できます。
sftp -i ~/.ssh/id_rsa user@remote_server
公開鍵認証方法は、特に複数のユーザーやサーバーが存在する環境では、個々のパスワードを管理および共有する必要がないため、より安全で拡張性の高いソリューションを提供します。