SSH キー
SSH キーを使用すると、パスワードなしでサーバーにサインインできます。キーペアは、コンピューター上に保持する秘密鍵と、サーバーの ~/.ssh/authorized_keys ファイルにコピーする公開鍵で構成されます。キーは OpenSSH に含まれる ssh-keygen を使用して作成します。
1キーの種類
Ed25519 キーは短く高速で、現在のすべての OpenSSH バージョンでサポートされています。ssh-keygen -t ed25519 で作成できます。RSA キーは古いシステムとの互換性のために引き続きサポートされており、3072 ビット以上である必要があります。
2パスフレーズとエージェント
パスフレーズはディスク上の秘密鍵を暗号化するため、ファイルが盗まれても単独で使用されることはありません。ssh-agent はロック解除されたキーをメモリ内に保持するため、パスフレーズの入力はセッションごとに 1 回で済みます。
3アクセス権限
OpenSSH は、ファイル権限が広すぎるキーの使用を拒否します。秘密鍵は所有者のみが読み取り可能(600)である必要があり、サーバー上の ~/.ssh および authorized_keys は他者が書き込み可能であってはなりません。
キーによるログインの設定方法
- コンピューター上でキーを作成します:
ssh-keygen -t ed25519 - デフォルトのファイル設定を受け入れ、パスフレーズを入力します。
- 公開鍵をサーバーにコピーします:
ssh-copy-id user@server - サインインしてテストします:
ssh user@server - キーが正常に機能することを確認してから、サーバーでのパスワードログインの無効化を検討してください。
注意点
- 秘密鍵(.pub が付いていないファイル)は、絶対に共有したりアップロードしたりしないでください。
- パスワード認証を無効にする前に、別のセッションでキーによるログインをテストしてください。そうしないと、サーバーから締め出される可能性があります。
関連記事
- ファイル権限: chmod と chownLinuxの読み取り、書き込み、実行権限の仕組み、755や644の意味、および所有者とモードを安全に変更する方法について解説します。
- UFW (Uncomplicated Firewall)UbuntuにおけるUFWによるLinuxファイアウォールの管理方法、有効化前のSSH許可設定、およびルールの表示と削除方法について解説します。
- rsyncrsyncがどのようにファイルをコピーおよび同期するか、末尾のスラッシュが何を変えるか、そして--deleteの前に--dry-runでテストする方法について解説します。
出典
- ssh-keygen(1) マニュアルページ (OpenBSD) man.openbsd.org
- sshd(8) マニュアルページ, AUTHORIZED_KEYS FILE FORMAT (OpenBSD) man.openbsd.org
最終確認: