高級 SSH 速查表
所有人都知道 SSH 是一種遠程登錄工具,然而它也有許多其他用途。
創建一個 SOCKS 代理來瀏覽網頁(也就是翻牆啦):
ssh -D
設置
localhost:<port>
作為你瀏覽器的代理
連接一個堡壘機後的 Windows RDP 主機:
ssh -L
: :3389 讓你的 RDP 客戶端連接到
localhost:<port>
在不使用 VNC 埠的情況下,連接遠程 VNC 主機:
ssh -L 5901:localhost:5901
讓你的 VNC 客戶端連接到
localhost:5901
按照這個思路,你可以映射任意埠:LDAP (389)、631 (CUPS)、8080 (替代的 HTTP),等等。
產生一個新的 SSH 密鑰對:
ssh-keygen
更新密鑰對的密碼:
ssh-keygen -p
把公鑰複製到遠程主機上:
ssh-copy-id -i
SSH 有一堆命令行選項,但是如果有一些是你經常使用的,你可以為它們在 SSH 配置文件 (${HOME}/.ssh/config) 里創建一個入口。比如:
host myhouse User itsme HostName house.example.com
那麼你就可以輸入 ssh myhouse
來代替 ssh itsme@house.example.com
。
以下是常用的命令行選項和他們的配置文件寫法。一些是常用的簡化寫法。請查看 ssh(1)
和 ssh_config(5)
的手冊頁來獲取詳盡信息。
命令行 | 配置文件 | 描述 |
---|---|---|
-l <login name> |
User <login name> |
遠程主機的登錄用戶名。 |
-i <identity file> |
IdentityFile <identity file> |
指定要使用的鑒權文件(SSH 密碼對)。 |
-p <remote port> |
Port <remote port> |
遠程 SSH 守護進程監聽的埠號。 (默認為 22) |
-C |
Compression <yes,no> |
壓縮往來信息。 (默認為 no) |
-D <port> |
DynamicForward <port> |
把本地埠的報文轉發到遠程主機。 |
-X |
ForwardX11 <yes,no> |
把 X11 的圖像數據轉發到遠程主機的埠. (默認為 no) |
-A |
ForwardAgent <yes,no> |
把授權代理的報文轉發給遠程主機。如果你使用第三方主機登錄,這個功能將很有用。 (默認為 no) |
-4 (僅使用 IPv4) -6 (僅使用 IPv6) |
AddressFamily <any,inet4,inet6> |
指定僅使用 IPv4 或者 IPv6。 |
-L <local port>:<target host>:<target port> |
LocalForward <local port>:<target host>:<target port> |
把本地主機指定埠的報文轉發到遠程主機的某個埠。 |
opensource.com Twitter @opensourceway | facebook.com/opensourceway | IRC: #opensource.com on Freenode
作者簡介:
Ben Cotton 是業餘的氣象學家和職業的高性能計算工程師。Ben 是微軟 Azure 的產品營銷經理,專註於高性能計算。他是一個 Fedora 用戶和貢獻者,共同創立了一個當地的開放源碼群,並且是開源促進會的成員和保護自由軟體的支持者。通過以下方式聯繫他 Twitter (@FunnelFiasco) 或者 FunnelFiasco.com.
via: https://opensource.com/sites/default/files/gated-content/cheat_sheet_ssh_v03.pdf
作者:BEN COTTON 譯者:kennethXia 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive