SSH鍵の保管場所は?
C:/Users/XXXXX/.ssh/
SSHコマンド
RSA鍵の生成
# RSA1024ビット > ssh-keygen -t rsa -b 1024 # RSA2048ビット > ssh-keygen -t rsa -b 2048 # RSA4096ビット > ssh-keygen -t rsa -b 4096
ED25519鍵の生成
> ssh-keygen -t ed25519
GitHubでEd25519鍵をつかう - 尋常でないもふもふ
コメント付きの鍵生成
> ssh-keygen -t ed25519 -C "コメント。メールアドレスを入れることが多い"
バージョン確認
> ssh -V
SSH鍵をどう管理する?
サーバが多くSSH鍵の管理が大変です。どんな工夫をしていますか? - Qiita
SSH鍵は使いまわすこともできるし、サービスごとにSSH鍵を分けてもよい。
たとえば.ssh/configファイルは次のようにして、サービスごとのSSH鍵はそのフォルダのconfigに従うようにする。
Host * IgnoreUnknown UseKeychain UseKeychain yes Include */config
IgnoreUnknown UseKeychain
は、Bitbucketに接続しようとしたらBad configuration option: usekeychain
というエラーが出たのでそのエラーを解消をするために追加している。詳しくは以下のStack Overflowを参照。
そして、.ssh/githubフォルダを以下のような構成にする。
たとえば.ssh/github/configファイルは次のようにして、専用のSSH鍵を使うように指示する。
Host github github.com HostName github.com User tanaka_taro IdentityFile ~/.ssh/github/id_ed25519
同様に、たとえば.ssh/bitbucket/configファイルは次のようにして、専用のSSH鍵を使うように指示する。
Host bitbucket bitbucket.org
HostName bitbucket.org
User tanaka_taro
IdentityFile ~/.ssh/bitbucket/id_ed25519
Port 22
設定できる項目は以下の通り。
.ssh/configファイルでSSH接続を管理する - Qiita
設定項目 | 説明 |
---|---|
Host | ホスト名 |
HostName | ホストのアドレスかIPアドレス |
User | ログインユーザ名 |
IdentiyFile | ログインするための秘密鍵パス |
Port | ポート番号(デフォルト22) |
TCPKeepAlive | 接続状態を継続したい場合:yes / 継続しない場合:no |
IdentitiesOnly | IdentityFileが必要な場合:yes / 必要ない場合:no |
ServerAliveInterval | 一定期間サーバからデータが送られてこないとき、タイムアウトする秒数 |