1. SSH クライアント側の設定ファイル
SSHクライアント(SSHをする方)の設定ファイル。
ニックネームを使うことで、SSH接続を簡単かつ効率的に行うことができる。
↓中身の書式
Host <ホストのニックネーム>
HostName <ホストの実際の名前またはIPアドレス>
User <ユーザー名>
Port <ポート番号>
IdentityFile <秘密鍵ファイルのパス>
その他のオプション
↓ 記述例
# hogeというホストの設定
Host hoge
HostName example.com
User your_username
Port 2220
IdentityFile ~/.ssh/id_rsa
↓活用例
ssh hoge
のように、ニックネーム(呼び名は違うかも?)指定でSSHコマンドを実行できる。
※ 参考
https://qiita.com/passol78/items/2ad123e39efeb1a5286b
2. 認証関連ファイル
生成された公開鍵 (~/.ssh/id_rsa.pub) の内容を接続先サーバーの ~/.ssh/authorized_keys ファイルに追加する。公開鍵認証は、クライアントの秘密鍵とサーバーに配置したこの公開鍵を照合(対になっているか)する。
↓ファイルの内容
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArf.... user@example.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC.... another_user@example.com
~
セキュリティのため、 ~/.ssh/authorized_keys ファイルとその親ディレクトリのパーミッションは以下のようにする
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
~/.ssh/known_hosts ファイルは、SSHクライアントが接続したことのあるサーバーのホストキー情報を保存するためのファイルです。
ホストキーは、サーバーがそのアイデンティティを証明するために使用されるキーです。
known_hosts ファイルにホストキーが保存されることにより、SSHクライアントは次回同じサーバーに接続する際に、そのサーバーのアイデンティティを確認できます。
※ サーバーのアイデンティティとは、サーバーがその正当性を証明し、通信相手(クライアント)がそのサーバーが偽装されたものでないことを確認するために使用される情報のこと
hostname,ip_address key_type key
例↓
example.com,192.168.1.100 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArf... rest_of_the_key
another.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC... rest_of_the_key
・補足
ホストキーが変更された場合や、不要なホストエントリを削除したい場合、known_hosts ファイルから該当する行を以下のコマンドで手動で削除できます。
ssh-keygen -R example.com