OpenSSH
2022-06-12 (日) 09:53:07
OpenSSH †
- https://www.openssh.com/
- OSSのSSHソフトウェア
SSH を使った機能 †
ツール †
- ssh
- ssh-add
- ssh-keysign
- ssh-keyscan
- ssh-keygen
サービス †
- sshd
- sftp-server
- ssh-agent
コマンド †
ssh-keygen †
- 鍵の生成
ssh-keygen -t rsa ssh-keygen -t rsa -b 2048 ssh-keygen -t rsa -b 4096 ssh-keygen -t rsa -b 4096 -N <pass-phrase> ssh-keygen -t rsa -b 4096 -f <output-keyfile> ssh-keygen -t dsa ssh-keygen -t ecdsa ssh-keygen -t ed25519
- 鍵の生成(セキュリティキーを使って生成)
ssh-keygen -t ecdsa-sk ssh-keygen -t ed25519-sk ssh-keygen -t ed25519-sk -O resident ※[[セキュリティキー]]内に鍵を生成する
- OpenSSH 8.2 でFIDOをサポート
- OpenSSH形式の鍵を指定したフォーマットで標準出力
ssh-keygen -e -f <input-keyfile> ※デフォルト(RFC4716) ssh-keygen -e -f <input-keyfile> -m RFC4716 ssh-keygen -e -f <input-keyfile> -m PKCS8 ssh-keygen -e -f <input-keyfile> -m PEM
- 指定したフォーマットの鍵をOpenSSH形式で標準出力
ssh-keygen -i -f <input-keyfile> ※デフォルト(RFC4716) ssh-keygen -i -f <input-keyfile> -m RFC4716 ssh-keygen -i -f <input-keyfile> -m PKCS8 ssh-keygen -i -f <input-keyfile> -m PEM
- 秘密鍵のパスフレーズを変更する
ssh-keygen -p -f <input-private-keyfile>
- 秘密鍵から公開鍵をOpenSSH形式で標準出力
ssh-keygen -y -f <input-private-keyfile>
- 公開鍵のフィンガープリントを表示 ※方式と鍵長が確認できる
ssh-keygen -l -f <input-private/public-keyfile>
- known_host から指定したホストの情報を削除する
ssh-keygen -R <host-name> ssh-keygen -R [<host-name>]:<port-no>
ssh-agent †
ssh-agent †
- 起動
eval `ssh-agent`
- 停止
ssh-agent -k
ssh-add †
- 秘密鍵をssh-agentに登録 ※OSを再起動すると削除される
ssh-add <~/.ssh/private-keyfile>
- ssh-agentに登録されている鍵の削除
- 指定した鍵を削除
ssh-add -d <~/.ssh/private-keyfile>
- 全ての鍵を削除
ssh-add -D
- 指定した鍵を削除
- ssh-agentに登録されている鍵の確認
ssh-add -l ※フィンガープリントを表示 ssh-add -L ※公開鍵を表示
- キーチェーンとの連携 ※macOSのみ
- 秘密鍵のパスフレーズをキーチェーンに登録
ssh-add -K ※非推奨 ssh-add --apple-use-keychain ssh-add --apple-use-keychain <~/.ssh/private-keyfile>
- 秘密鍵とキーチェーンに登録されているパスフレーズをssh-agentに登録
ssh-add -A ※非推奨 ssh-add --apple-load-keychain ssh-add --apple-load-keychain <~/.ssh/private-keyfile>
- 秘密鍵のパスフレーズをキーチェーンに登録
- 登録した鍵を使って接続
ssh -A [nameOfTheKey]
- 設定ファイル(~/.ssh/config)
ServerAliveInterval [numberOfSecond] ForwardAgent Host * AddKeysToAgent yes ※SSHの公開鍵認証時に使用した秘密鍵と入力したパスフレーズをssh-agentに登録する UseKeyChain yes ※SSHの公開鍵認証時に使用した秘密鍵と入力したパスフレーズをキーチェーンに登録する(macOSのみ) IdentityFile ~/.ssh/ed_ed25519 ※SSH接続する際に使用する鍵を指定(複数指定の場合は順番に試行) HostName *
鍵のフォーマット †
- 「公開鍵暗号方式」参照
関連サイト †
- ssh-agent (日本語)
https://euske.github.io/openssh-jman/ssh-agent.html
- Macの認証エージェントの鍵保持について
https://tsuzu914.hatenablog.com/entry/2020/10/29/003438