#author("2022-05-30T20:37:00+09:00","default:k1rou","k1rou")
#author("2022-06-12T09:53:07+09:00","default:k1rou","k1rou")
*OpenSSH [#y185148c]
-https://www.openssh.com/
-[[OSS]]の[[SSH]]ソフトウェア
*SSH を使った機能 [#r21545fc]
-[[SSH]]
-[[SFTP]]
-[[SCP]]
*ツール [#u227d19c]
-ssh
-ssh-add
-ssh-keysign
-ssh-keyscan
-ssh-keygen
*サービス [#wb678f4f]
-sshd
-sftp-server
-ssh-agent
*コマンド [#t637d71d]
**ssh-keygen [#tea8c8c2]
-鍵の生成
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 [#q3750984]
**ssh-agent [#nce157ea]
-起動
eval `ssh-agent`
-停止
ssh-agent -k
**ssh-add [#f3970bcc]
-秘密鍵を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 *
*鍵のフォーマット [#o0011002]
-「[[公開鍵暗号方式]]」参照
*関連サイト [#v885f8a6]
-ssh-agent (日本語)~
https://euske.github.io/openssh-jman/ssh-agent.html
-Macの認証エージェントの鍵保持について~
https://tsuzu914.hatenablog.com/entry/2020/10/29/003438
*関連サイト [#r55ed3c6]
-入門OpenSSH~
https://www.unixuser.org/~euske/doc/openssh/book/index.html
*関連用語 [#jce07404]
-[[OpenSSL]]