0
0

SSH 各種ファイルの説明

Posted at

1. SSH クライアント側の設定ファイル

  • ~/.ssh/config

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/authorized_keys

生成された公開鍵 (~/.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クライアントが接続したことのあるサーバーのホストキー情報を保存するためのファイルです。
ホストキーは、サーバーがそのアイデンティティを証明するために使用されるキーです。
known_hosts ファイルにホストキーが保存されることにより、SSHクライアントは次回同じサーバーに接続する際に、そのサーバーのアイデンティティを確認できます。

※ サーバーのアイデンティティとは、サーバーがその正当性を証明し、通信相手(クライアント)がそのサーバーが偽装されたものでないことを確認するために使用される情報のこと

  • known_hosts ファイルの構造

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0