SSH58 cmd
SSHチート集
基本接続・鍵管理・ポートフォワード・ssh-agent・多段SSH・sshd_config・トラブルシューティングを網羅。
- 更新日
- 2026-05-12
- 参照範囲
- 公式ドキュメント / man page / 主要ベンダーCLI
- 対象実装
- 主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
- 免責
- OS とバージョン差分は実環境で確認してください。
58 / 58
| Command | Description | Example | Copy |
|---|---|---|---|
ssh user@host | ユーザー名指定でホストに接続 | ssh deploy@example.com | |
ssh -p PORT user@host | ポート番号を指定して接続 | ssh -p 2222 deploy@example.com | |
ssh -i KEY user@host | 秘密鍵ファイルを指定して接続 | ssh -i ~/.ssh/id_ed25519 deploy@example.com | |
ssh -v user@host | 詳細ログ出力で接続(-vv, -vvv でさらに詳細) | ssh -vvv deploy@example.com | |
ssh -o option=value | ssh_config の項目をコマンドラインから上書き | ssh -o StrictHostKeyChecking=accept-new host | |
ssh user@host COMMAND | 接続せずにリモートでコマンドを実行 | ssh deploy@host 'uptime' | |
ssh -t user@host | 強制的に擬似端末を割り当てて接続(sudo 等で必要) | ssh -t deploy@host 'sudo systemctl status nginx' | |
ssh -N -f | コマンド実行なし・バックグラウンドで接続のみ確立(トンネル用) | ssh -N -f -L 8080:localhost:80 host | |
ssh-keygen -t ed25519 | Ed25519 形式の鍵ペアを生成(推奨) | ssh-keygen -t ed25519 -C 'me@example.com' | |
ssh-keygen -t rsa -b 4096 | 4096bit RSA 鍵ペアを生成 | ssh-keygen -t rsa -b 4096 -C 'me@example.com' | |
ssh-keygen -p -f KEY | 既存鍵のパスフレーズを変更 | ssh-keygen -p -f ~/.ssh/id_ed25519 | |
ssh-keygen -y -f KEY | 秘密鍵から公開鍵を再出力 | ssh-keygen -y -f ~/.ssh/id_ed25519 > id_ed25519.pub | |
ssh-keygen -lf KEY | 鍵のフィンガープリントを表示 | ssh-keygen -lf ~/.ssh/id_ed25519.pub | |
ssh-copy-id user@host | ローカル公開鍵をリモートの authorized_keys に追加 | ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@host | |
~/.ssh/authorized_keys | サーバー側で許可する公開鍵を列挙するファイル(パーミッション 600) | echo 'ssh-ed25519 AAAA...' >> ~/.ssh/authorized_keys | |
~/.ssh/config | ホスト別の接続設定(HostName/User/Port/IdentityFile 等) | Host prod\n HostName 203.0.113.10\n User deploy\n IdentityFile ~/.ssh/id_ed25519 | |
ssh-keygen -R host | known_hosts から指定ホストのエントリを削除 | ssh-keygen -R example.com | |
ssh -L LPORT:HOST:RPORT user@gw | ローカルポート転送(ローカル→リモート方向のトンネル) | ssh -L 5432:db.internal:5432 bastion | |
ssh -R RPORT:HOST:LPORT user@gw | リモートポート転送(リモート→ローカル方向のトンネル) | ssh -R 8080:localhost:3000 jump | |
ssh -D PORT user@gw | ダイナミックポート転送(SOCKSプロキシ) | ssh -D 1080 bastion | |
ssh -fN -L ... | 対話シェルを開かずバックグラウンドでトンネルだけ確立 | ssh -fN -L 5432:db:5432 bastion | |
GatewayPorts yes | sshd_config 設定。-R で他ホストからの接続を許可する | GatewayPorts yes | |
eval $(ssh-agent -s) | ssh-agent を起動して環境変数を読み込み | eval $(ssh-agent -s) | |
ssh-add KEY | agent に秘密鍵を登録 | ssh-add ~/.ssh/id_ed25519 | |
ssh-add -l | agent に登録済みの鍵を一覧表示 | ssh-add -l | |
ssh-add -D | agent から全ての鍵を削除 | ssh-add -D | |
ssh -A user@host | ssh-agent forwarding を有効にして接続(多段先で同じ鍵を使える) | ssh -A deploy@bastion | |
AddKeysToAgent yes | ssh_config 設定。接続時に鍵を agent に自動追加 | AddKeysToAgent yes | |
scp file user@host:DEST | ローカルファイルをリモートへコピー | scp ./app.tar.gz deploy@host:/tmp/ | |
scp -r DIR user@host:DEST | ディレクトリを再帰的にコピー | scp -r ./dist deploy@host:/var/www/ | |
scp user@host:SRC LOCAL | リモートファイルをローカルへ取得 | scp deploy@host:/var/log/app.log . | |
scp -P PORT | scp でポート指定(大文字 P) | scp -P 2222 file host:/tmp/ | |
sftp user@host | 対話的なファイル転送セッションを開始 | sftp deploy@host | |
rsync -avz SRC user@host:DEST | 圧縮・属性保持で差分同期 | rsync -avz ./dist/ deploy@host:/var/www/ | |
rsync -e 'ssh -p PORT' | rsync で SSH のポートやオプションを指定 | rsync -avz -e 'ssh -p 2222' src/ host:/tmp/ | |
rsync --delete | 送信側にないファイルを受信側からも削除(完全ミラー) | rsync -avz --delete src/ host:/var/www/ | |
ssh -J jump user@host | ProxyJump で踏み台経由接続 | ssh -J bastion deploy@10.0.0.5 | |
ProxyJump jump | ~/.ssh/config に書く多段SSH指定 | Host internal\n HostName 10.0.0.5\n ProxyJump bastion | |
ProxyCommand ssh -W %h:%p jump | ProxyCommand を使った多段SSH(古い書式) | ProxyCommand ssh -W %h:%p bastion | |
ssh -J u1@gw1,u2@gw2 host | ProxyJump を複数指定して三段以上の踏み台経由 | ssh -J ops@gw1,ops@gw2 deploy@target | |
/etc/ssh/sshd_config | sshd の設定ファイル本体 | sudo vi /etc/ssh/sshd_config | |
Port 22 | sshd が待ち受けるポート番号 | Port 2222 | |
PermitRootLogin no | root の直接ログインを禁止(推奨) | PermitRootLogin no | |
PasswordAuthentication no | パスワード認証を無効化(鍵認証のみ) | PasswordAuthentication no | |
PubkeyAuthentication yes | 公開鍵認証を有効化 | PubkeyAuthentication yes | |
AllowUsers user1 user2 | ログイン可能なユーザーをホワイトリスト指定 | AllowUsers deploy ops | |
ClientAliveInterval 60 | アイドルクライアントへの keepalive 間隔(秒) | ClientAliveInterval 60 | |
MaxAuthTries 3 | 認証失敗の最大試行回数 | MaxAuthTries 3 | |
sudo sshd -t | sshd_config の構文チェック | sudo sshd -t | |
sudo systemctl reload sshd | sshd を無停止リロード | sudo systemctl reload sshd | |
ssh -vvv user@host | 最大詳細のデバッグログを出力 | ssh -vvv deploy@host | |
ssh -G user@host | 実際に適用される ssh_config を表示 | ssh -G deploy@host | |
ssh -Q cipher | クライアントが対応する暗号一覧を表示 | ssh -Q cipher | |
chmod 600 ~/.ssh/id_* | 秘密鍵のパーミッションを 600 に修正(緩いと拒否される) | chmod 600 ~/.ssh/id_ed25519 | |
chmod 700 ~/.ssh | ~/.ssh ディレクトリのパーミッションを 700 に修正 | chmod 700 ~/.ssh | |
sudo journalctl -u sshd -e | sshd のログを末尾から表示 | sudo journalctl -u sshd -e --since '1 hour ago' | |
tail -f /var/log/auth.log | 認証ログを追跡(Debian/Ubuntu) | sudo tail -f /var/log/auth.log | |
tail -f /var/log/secure | 認証ログを追跡(RHEL/CentOS) | sudo tail -f /var/log/secure |