SSH為 Secure Shell的縮寫,由IETF的網絡工作小(Network Working Group)所制定。SSH為建立在應用層和傳輸層基礎上的安全協議。
傳統的網絡服務程序,如FTP、POP和Telnet其本質上都是不安全的,因為它們在網絡上用明文傳送數據、用戶賬號和口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另一個人或者一台機器冒充真正的服務器接收用戶傳送的數據,然后再冒充用戶把數據發送給真正的服務器。
而SSH是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。通過SSH可以對所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。
- 查看當前的centos是否安裝了openssh-server服務。默認安裝openssh-server服務。(在root下操作示例)
rpm -qa|grep -E "openssh"
顯示結果含有以下三個軟件,則表示已經安裝,否則需要安裝缺失的軟件
openssh-server-7.4p1-22.el7_9.x86_64
openssh-7.4p1-22.el7_9.x86_64
openssh-clients-7.4p1-22.el7_9.x86_64
如果存在這些文件,則可以跳過安裝,直接進行遠程連接。
- 安裝openssh-server服務
yum -y install openssh-server
- 配置OpenSSH服務(默認的配置已可以正常工作)
OpenSSH的主配置文件:/etc/ssh/sshd_config
常見的配置選項:
Port=22 # 設置SSH的端口號是22(默認端口號為22)
Protocol 2 # 啟用SSH版本2協議
ListenAddress 192.168.0.222 # 設置服務監聽的地址
DenyUsers user1 user2 foo # 拒絕訪問的用戶(用空格隔開)
AllowUsers root osmond vivek # 允許訪問的用戶(用空格隔開)
PermitRootLogin no # 禁止root用戶登陸
PermitEmptyPasswords no # 用戶登陸需要密碼認證
PasswordAuthentication yes # 啟用口令認證方式
- 啟動ssh的服務
systemctl start sshd.service
- 停止ssh的服務
systemctl stop sshd.service
- 設置開機自動啟動ssh服務
systemctl enable sshd.service
systemctl restart sshd.service