簡単に言うと
- SSHする時に鍵とかユーザとか省略する、よくある手順です。
概要
- 某場所で仮想サーバの一部をお借りすることができたのでSSHの公開鍵認証をした。
- いつもは渡された手順で実施していたけど、勉強がてら自分で試し、結果をアウトプットすることにした。
キーペア作成
- ssh-keygenで生成
- [任意の秘密鍵ファイル名]は、既存の秘密鍵と被らないにファイル名をつける
- パスフレーズの設定は任意
ssh-keygen -t rsa -b 4096 -C "[メールアドレス]"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/[ユーザ名]/.ssh/id_rsa): /Users/[ユーザ名]/.ssh/[任意の秘密鍵ファイル名]
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
秘密鍵のパーミッション変更
chmod 600 ~/.ssh/[秘密鍵ファイル名]
公開鍵の置き場を作成
ssh [ユーザ名]@[サーバ名] -p [ポート番号]
mkdir ~/.ssh
exit
公開鍵をサーバに配置
scp -P [ポート番号] ~/.ssh/[公開鍵ファイル名] [ユーザ名]@[サーバ名]:/home/[ユーザ名]/.ssh/
公開鍵を登録
ssh [ユーザ名]@[サーバ名] -p [ポート番号]
cd /home/[ユーザ名]/.ssh/
cat [公開鍵ファイル名] >> authorized_keys
exit
公開鍵ログイン確認
ssh -i ~/.ssh/[秘密鍵ファイル名] [ユーザ名]@[サーバ名] -p [ポート番号]
別名でログインできるようにする
vi ~/.ssh/config
Host fmd
Hostname [サーバ名]
User [ユーザ名]
Port [ポート番号]
IdentityFile ~/.ssh/[秘密鍵ファイル名]
PasswordAuthentication no
TCPKeepAlive yes
別名でログイン
ssh fmd