SSH 速查表
一份可搜尋、可列印的 SSH 參考:連線、金鑰、設定、隧道、SCP/SFTP 和 agent 轉發。免費。
Connecting
10ssh user@host
Connect as user to host
ssh -p 2222 user@host
Connect on a non-default port
ssh -i ~/.ssh/id_ed25519 user@host
Use a specific identity key
ssh user@host 'uptime'
Run a single remote command and exit
ssh -v user@host
Verbose output for debugging (-vvv for more)
ssh -t user@host 'sudo -i'
Force a pseudo-terminal (for interactive cmds)
ssh -X user@host
Enable X11 forwarding
ssh -o ServerAliveInterval=60 user@host
Send keepalives to avoid timeouts
exit / Ctrl-D
Close the remote session
~.
Force-disconnect a frozen session
Key generation
8ssh-keygen -t ed25519 -C 'you@example.com'
Generate a modern Ed25519 key pair
ssh-keygen -t rsa -b 4096
Generate a 4096-bit RSA key pair
ssh-keygen -t ed25519 -f ~/.ssh/work
Write the key to a specific file
ssh-keygen -p -f ~/.ssh/id_ed25519
Change the passphrase of an existing key
ssh-keygen -y -f ~/.ssh/id_ed25519
Print the public key from a private key
ssh-keygen -l -f ~/.ssh/id_ed25519.pub
Show a key fingerprint
ssh-keygen -lv -f ~/.ssh/id_ed25519.pub
Show the fingerprint randomart image
ssh-keygen -R host
Remove a host key from known_hosts
Installing public keys
7ssh-copy-id user@host
Copy your default public key to the server
ssh-copy-id -i ~/.ssh/work.pub user@host
Copy a specific public key
ssh-copy-id -p 2222 user@host
Copy the key over a custom port
cat ~/.ssh/id_ed25519.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys'
Manual copy when ssh-copy-id is missing
chmod 700 ~/.ssh
Correct permissions on the .ssh directory
chmod 600 ~/.ssh/authorized_keys
Correct permissions on authorized_keys
pbcopy < ~/.ssh/id_ed25519.pub
Copy public key to clipboard (macOS)
SSH config (~/.ssh/config)
10Host myserver
Alias: connect with `ssh myserver`
HostName 203.0.113.10
Real hostname or IP for the alias
User deploy
Default username for this host
Port 2222
Default port for this host
IdentityFile ~/.ssh/work
Key to use for this host
IdentitiesOnly yes
Only offer the listed key
ForwardAgent yes
Forward the SSH agent to this host
Host *.example.com
Wildcard match for a domain
Host *
Global defaults for all hosts
ServerAliveInterval 60
Keepalive interval for all hosts
Port forwarding / tunneling
7ssh -L 8080:localhost:80 user@host
Local: reach host:80 via local 8080
ssh -L 5432:db.internal:5432 user@host
Local forward to a third host through the server
ssh -R 9000:localhost:3000 user@host
Remote: expose your local 3000 as host:9000
ssh -D 1080 user@host
Dynamic: SOCKS proxy on local port 1080
ssh -N -L 8080:localhost:80 user@host
Tunnel only, do not run a remote shell
ssh -f -N -L 8080:localhost:80 user@host
Open the tunnel in the background
ssh -g -L 8080:localhost:80 user@host
Allow other hosts to use the local forward
Jump hosts / bastions
5ssh -J jump@bastion user@target
Hop through a bastion to reach the target
ssh -J h1,h2 user@target
Chain multiple jump hosts
ProxyJump bastion
Config equivalent of -J
ProxyCommand ssh -W %h:%p bastion
Older ProxyCommand-based jump
ssh -o ProxyJump=bastion user@target
Inline ProxyJump option
File transfer (scp & sftp)
7scp file user@host:/path/
Copy a local file to the server
scp user@host:/path/file .
Copy a remote file to the current dir
scp -r dir/ user@host:/path/
Recursively copy a directory
scp -P 2222 file user@host:/path/
Copy over a custom port (note capital -P)
sftp user@host
Start an interactive SFTP session
put localfile / get remotefile
Upload / download inside SFTP
rsync -avz -e ssh dir/ user@host:/path/
Efficient sync over SSH (resumable)
ssh-agent & forwarding
7eval "$(ssh-agent -s)"
Start the agent in the current shell
ssh-add ~/.ssh/id_ed25519
Add a key to the agent
ssh-add -l
List keys loaded in the agent
ssh-add -D
Remove all keys from the agent
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
Store passphrase in macOS keychain
ssh -A user@host
Forward the agent for this connection
ForwardAgent yes
Config equivalent of agent forwarding
沒有條目符合「:q」。
關於 SSH 速查表
這份 SSH 小抄彙整了操作遠端伺服器所需的指令與設定:連線、金鑰產生、安裝公鑰、~/.ssh/config 檔案、連接埠轉發與通道、跳板主機與堡壘主機、以 scp 與 sftp 傳輸檔案,以及 ssh-agent 與代理轉發。
SSH 語法很容易只記得一半:那個通道要用 -L 還是 -R?哪些 ssh-keygen 參數能產生現代化金鑰?ProxyJump 又是如何運作的?這裡的每一列都用確切的指令與一行說明回答其中一個問題。
此小抄免費且完全在你的瀏覽器中呈現。用搜尋即時篩選內容,透過固定式目錄跳到各章節,一鍵複製任何指令,並在 SSH 恰好出問題的時刻列印出來備用。
如何使用 SSH 速查表
- 打開小抄,瀏覽各章節,從連線、金鑰產生,到 ssh-agent 與轉發。
- 搜尋 tunnel、scp 或 ProxyJump 等關鍵字以即時篩選指令。
- 需要特定作法時,透過固定式側邊欄跳到連接埠轉發/通道或 SSH 設定章節。
- 點擊指令或其複製圖示以複製,然後調整主機與連接埠的佔位字。
- 列印小抄以保留一份離線版本,供伺服器緊急狀況使用。
常見問題
共八個章節:連線、金鑰產生、安裝公鑰、~/.ssh/config 檔案、連接埠轉發與通道、跳板主機與堡壘主機、以 scp 與 sftp 傳輸檔案,以及 ssh-agent 與轉發。
有的。通道章節將 -L 與 -R 兩種形式並列展示,並說明各自轉發的方向,另外還包含動態轉發:這是 SSH 中最常被搞混的部分之一。
是的。其中有章節說明如何用 ssh-keygen 產生金鑰、如何在伺服器上安裝你的公鑰,還有載入與轉發金鑰的代理指令。
可以。點擊任一指令或其列上的複製圖示,就能複製到剪貼簿,方便貼到終端機並換上你的主機名稱。
是的,完全免費,不需帳號,也能乾淨俐落地列印供離線使用。
熱門搜尋
ssh 速查表
ssh 指令列表
ssh-keygen 指令
ssh config 檔案範例
ssh 連接埠轉發
ssh-copy-id
scp 與 sftp 指令
ssh 跳板機
需要協助?
使用此工具時遇到問題?請告訴我們的團隊。