検索・印刷できる SSH のリファレンス — 接続、鍵、設定、トンネリング、SCP/SFTP、エージェントフォワーディング。無料。

接続

10
ssh user@host
user としてホストに接続
ssh -p 2222 user@host
デフォルト以外のポートで接続
ssh -i ~/.ssh/id_ed25519 user@host
特定の鍵を使用
ssh user@host 'uptime'
単一のリモートコマンドを実行して終了
ssh -v user@host
デバッグ用の詳細出力 (-vvv でさらに詳細)
ssh -t user@host 'sudo -i'
擬似端末を強制 (対話コマンド用)
ssh -X user@host
X11 転送を有効化
ssh -o ServerAliveInterval=60 user@host
タイムアウト回避のため keepalive を送信
exit / Ctrl-D
リモートセッションを閉じる
~.
固まったセッションを強制切断

鍵の生成

8
ssh-keygen -t ed25519 -C 'you@example.com'
モダンな Ed25519 鍵ペアを生成
ssh-keygen -t rsa -b 4096
4096-bit RSA 鍵ペアを生成
ssh-keygen -t ed25519 -f ~/.ssh/work
特定のファイルに鍵を書き込む
ssh-keygen -p -f ~/.ssh/id_ed25519
既存の鍵のパスフレーズを変更
ssh-keygen -y -f ~/.ssh/id_ed25519
秘密鍵から公開鍵を表示
ssh-keygen -l -f ~/.ssh/id_ed25519.pub
鍵のフィンガープリントを表示
ssh-keygen -lv -f ~/.ssh/id_ed25519.pub
フィンガープリントの randomart 画像を表示
ssh-keygen -R host
known_hosts からホスト鍵を削除

公開鍵のインストール

7
ssh-copy-id user@host
デフォルトの公開鍵をサーバーにコピー
ssh-copy-id -i ~/.ssh/work.pub user@host
特定の公開鍵をコピー
ssh-copy-id -p 2222 user@host
カスタムポート経由で鍵をコピー
cat ~/.ssh/id_ed25519.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys'
ssh-copy-id がない場合の手動コピー
chmod 700 ~/.ssh
.ssh ディレクトリの権限を修正
chmod 600 ~/.ssh/authorized_keys
authorized_keys の権限を修正
pbcopy < ~/.ssh/id_ed25519.pub
公開鍵をクリップボードにコピー (macOS)

SSH 設定 (~/.ssh/config)

10
Host myserver
別名: `ssh myserver` で接続
HostName 203.0.113.10
別名の実際のホスト名または IP
User deploy
このホストのデフォルトユーザー名
Port 2222
このホストのデフォルトポート
IdentityFile ~/.ssh/work
このホストで使用する鍵
IdentitiesOnly yes
指定した鍵のみ提示
ForwardAgent yes
このホストへ SSH エージェントを転送
Host *.example.com
ドメインのワイルドカード一致
Host *
全ホスト共通のデフォルト
ServerAliveInterval 60
全ホストの keepalive 間隔

ポート転送 / トンネリング

7
ssh -L 8080:localhost:80 user@host
ローカル: ローカル 8080 経由で host:80 に到達
ssh -L 5432:db.internal:5432 user@host
サーバー経由で第三のホストへローカル転送
ssh -R 9000:localhost:3000 user@host
リモート: ローカル 3000 を host:9000 として公開
ssh -D 1080 user@host
ダイナミック: ローカルポート 1080 に SOCKS プロキシ
ssh -N -L 8080:localhost:80 user@host
トンネルのみ、リモートシェルは実行しない
ssh -f -N -L 8080:localhost:80 user@host
バックグラウンドでトンネルを開く
ssh -g -L 8080:localhost:80 user@host
他のホストにローカル転送の利用を許可

踏み台ホスト / bastion

5
ssh -J jump@bastion user@target
bastion を経由してターゲットに到達
ssh -J h1,h2 user@target
複数の踏み台ホストを連鎖
ProxyJump bastion
-J に相当する設定
ProxyCommand ssh -W %h:%p bastion
古い ProxyCommand ベースの踏み台
ssh -o ProxyJump=bastion user@target
インラインの ProxyJump オプション

ファイル転送 (scp と sftp)

7
scp file user@host:/path/
ローカルファイルをサーバーにコピー
scp user@host:/path/file .
リモートファイルを現在のディレクトリにコピー
scp -r dir/ user@host:/path/
ディレクトリを再帰的にコピー
scp -P 2222 file user@host:/path/
カスタムポート経由でコピー (大文字 -P に注意)
sftp user@host
対話的な SFTP セッションを開始
put localfile / get remotefile
SFTP 内でアップロード / ダウンロード
rsync -avz -e ssh dir/ user@host:/path/
SSH 経由の効率的な同期 (再開可能)

ssh-agent と転送

7
eval "$(ssh-agent -s)"
現在のシェルでエージェントを起動
ssh-add ~/.ssh/id_ed25519
エージェントに鍵を追加
ssh-add -l
エージェントに読み込まれた鍵を一覧
ssh-add -D
エージェントから全鍵を削除
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
パスフレーズを macOS キーチェーンに保存
ssh -A user@host
この接続でエージェントを転送
ForwardAgent yes
エージェント転送に相当する設定

「:q」に一致する項目はありません。


シェアする
お困りですか?
このツールで問題が見つかりましたか?チームにお知らせください。
問題を報告

この無料ツールをあなたのウェブサイトに追加 — 下のコードをコピーして貼り付けてください。