在日常運(yùn)維或遠(yuǎn)程管理服務(wù)器時(shí),SSH 是最常用的工具之一。通過命令行 SSH 連接命令,可以快速登錄到遠(yuǎn)程 Linux 服務(wù)器,執(zhí)行操作、查看日志、部署服務(wù),就像坐在那臺(tái)機(jī)器前一樣。
基本連接語法
最簡單的 SSH 命令格式如下:
ssh username@hostname
其中 username 是你在目標(biāo)服務(wù)器上的用戶名,hostname 可以是 IP 地址或域名。比如你要用用戶 admin 登錄 IP 為 192.168.1.100 的服務(wù)器:
ssh admin@192.168.1.100
指定端口連接
默認(rèn)情況下 SSH 使用 22 端口,但很多生產(chǎn)環(huán)境會(huì)修改端口以增強(qiáng)安全。這時(shí)需要用 -p 參數(shù)指定端口號(hào):
ssh -p 2222 admin@192.168.1.100
這條命令會(huì)嘗試通過 2222 端口連接,適用于那些把 SSH 服務(wù)改到非標(biāo)準(zhǔn)端口的服務(wù)器。
使用密鑰登錄
比起密碼,用密鑰登錄更安全也更方便。如果你已經(jīng)生成了 SSH 密鑰對(duì)(通常在 ~/.ssh/id_rsa),可以直接連接:
ssh -i ~/.ssh/myserver_key admin@192.168.1.100
這里的 -i 參數(shù)指定私鑰文件路徑。比如你有臺(tái)阿里云服務(wù)器,分配了 PEM 格式的密鑰,就可以這樣登錄,免去每次輸密碼的麻煩。
保存常用連接
經(jīng)常連同一臺(tái)服務(wù)器?可以在 ~/.ssh/config 里配置別名:
Host myserver
HostName 192.168.1.100
User admin
Port 2222
IdentityFile ~/.ssh/myserver_key
配置完后,直接輸入 ssh myserver 就能連上,不用記一堆參數(shù),特別適合管理多臺(tái)設(shè)備。
實(shí)用小技巧
有時(shí)候需要在遠(yuǎn)程服務(wù)器上執(zhí)行一條命令就退出,不需要進(jìn)入交互式 shell。比如查看內(nèi)存使用情況:
ssh admin@192.168.1.100 'free -h'
命令執(zhí)行完自動(dòng)斷開,適合寫腳本或快速檢查狀態(tài)。
如果遇到連接超時(shí)或拒絕,先確認(rèn)防火墻是否放行對(duì)應(yīng)端口,再檢查目標(biāo)服務(wù)器的 /etc/ssh/sshd_config 配置是否允許你的用戶登錄。
掌握這些命令行 SSH 連接技巧,就像有了把萬能鑰匙,不管是在家調(diào)試樹莓派,還是在公司維護(hù)云主機(jī),都能輕松搞定。