OpenSSH の変更点


#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]]