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)的安全性。