#author("2024-11-06T21:38:32+09:00","default:k1rou","k1rou") #author("2024-11-06T21:39:27+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> *設定ファイル [#va6d2309] **SSHサーバ [#r57c8830] -/etc/ssh/sshd_config PermitRootLogin <yes/no> ※Rootログインの有効/無効 PasswordAuthentication <yes/no> ※パスワード認証の有効/無効 Port <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]]