1. 在CentOS7系統(tǒng)中安裝SSH
CentOS7默認已經安裝了SSH服務,我們只需要確認SSH服務是否開啟即可。首先使用以下命令檢查SSH服務的狀態(tài):
systemctl status sshd
如果SSH服務未開啟,可以使用以下命令來啟動SSH服務:
systemctl start sshd
同時也可以設置SSH服務開機自啟:
systemctl enable sshd
2. 配置SSH服務
SSH服務的主配置文件位于/etc/ssh/sshd_config,我們可以對該配置文件進行適當?shù)男薷膩頋M足自己的需求。常見的配置項包括:
? Port 22 #SSH服務端口,默認為22,可修改為其他端口
? PermitRootLogin yes #是否允許root用戶直接登錄,建議設置為no
? PasswordAuthentication yes #是否允許密碼登錄,建議設置為no,改為密鑰登錄
修改完成后,需要重啟SSH服務才能生效:
systemctl restart sshd
3. 配置SSH密鑰認證
相比于密碼登錄,SSH密鑰登錄更加安全可靠。我們可以在客戶端生成密鑰對,并將公鑰上傳到服務端的authorized_keys文件中,這樣就可以實現(xiàn)免密碼登錄。
在客戶端生成密鑰對的命令如下:
ssh-keygen -t rsa
然后將公鑰拷貝到服務端的authorized_keys文件中:
cat ~/.ssh/id_rsa.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys'
之后就可以使用私鑰免密碼登錄服務器了。
4. SSH隧道與端口轉發(fā)
SSH不僅可以用于遠程登錄,還可以用于搭建安全的隧道,實現(xiàn)端口轉發(fā)。這在某些場景下非常有用,比如繞過防火墻訪問內網資源,或者將內網服務映射到公網。
SSH隧道的使用方法如下:
ssh -L localport:remotehost:remoteport user@host
這條命令會在本地創(chuàng)建一個監(jiān)聽localport端口的隧道,將流量轉發(fā)到remotehost的remoteport端口。
5. SSH圖形化工具
除了命令行SSH工具,還有很多圖形化的SSH客戶端工具,比如PuTTY、XShell、MobaXterm等。這些工具在Windows平臺上使用非常方便,支持多標簽頁管理,文件傳輸?shù)裙δ?,大大提高了遠程管理的效率。
以PuTTY為例,安裝完成后可以直接輸入服務器地址和端口號進行連接。PuTTY還支持SSH密鑰登錄,用戶可以在會話配置中指定私鑰文件。
6. 其他SSH技巧
除了上述基本用法,SSH還有很多其他的高級技巧和應用場景,比如:
? 使用SSH會話保持:可以通過在SSH配置中添加"ClientAliveInterval 60"來實現(xiàn)
? 使用SSH實現(xiàn)文件傳輸:可以使用scp、sftp等命令進行安全的文件傳輸
? 使用SSH實現(xiàn)多跳轉:可以利用-J或-o ProxyJump選項實現(xiàn)多級跳轉登錄
? 使用SSH實現(xiàn)動態(tài)端口轉發(fā):可以通過-D選項開啟SOCKS代理,實現(xiàn)動態(tài)端口轉發(fā)
總之,SSH是一個功能強大、安全可靠的遠程連接利器,無論是Linux服務器管理還是跨網段訪問內網資源,SSH都是首選的解決方案。通過學習和掌握SSH的各種使用技巧,您一定能夠大大提高工作效率,增強系統(tǒng)的安全性。