フロー
手順
フォルダ構成
~/.ssh/
│
├── config # SSH接続設定ファイル(テキスト)
│ # 複数サーバーの接続設定を記述可能
│
├── id_rsa # 秘密鍵
│ # 権限: 600(所有者のみ読み書き可)
│ # 絶対に共有しない
│
├── id_rsa.pub # 公開鍵
│ # 権限: 644(所有者は読み書き可、他者は読み取りのみ)
│ # サーバーに登録する
│
└── known_hosts # 接続したことのあるサーバーの情報
# 初回接続時に自動生成
configファイルの例
# デフォルトの設定(すべてのHostに適用)
Host *
# タイムアウトを設定(秒)
ServerAliveInterval 60
# 圧縮を有効化
Compression yes
# 開発サーバーの設定例
Host dev
# サーバーのホスト名またはIPアドレス
HostName dev.example.com
# SSHのポート番号(デフォルトは22)
Port 22
# ログインするユーザー名
User developer
# 使用する秘密鍵の場所
IdentityFile ~/.ssh/id_rsa
# ステージングサーバーの設定例
Host stg
HostName stg.example.com
Port 22
User deployer
# 別の秘密鍵を使用する例
IdentityFile ~/.ssh/staging_key
# 本番サーバーの設定例
Host prod
HostName prod.example.com
# セキュリティのため別ポートを使用
Port 10022
User production
IdentityFile ~/.ssh/production_key
# パスワード認証を無効化
PasswordAuthentication no
~/.ssh/id_rsa
の秘密鍵は以前作成したものを使いまわします
公開鍵をXserverの管理画面で登録
公開鍵を張り付ける
id_rsa.pub
が公開鍵ファイルになります。このファイルの内容をXserverの管理画面にコピー&ペーストすることで、先ほどの秘密鍵(id_rsa
)と対応する公開鍵認証が設定されます。
.ssh/configファイルを使ってssh接続できるようになります:
ssh xserver
SSHコマンドが設定ファイルの読み込みから認証まで、多くのことを自動的に処理してくれます。