安裝好CentOS7後可以在圖形化介面中點選右鍵->開啟服務器修改設定後啟用SSH設定,方法如下:
1、先安裝openssh套件
sudo yum install openssh*
2、用gedit開啟sshd_config編輯(不要用vi很難編輯的)
sudo gedit /etc/ssh/sshd_config
3、增加可連線SSH帳號
AllowUsers admin (此欄位需要自行新增)
4、修改PORT吧#註解拿掉(可以改成8022PORT或其他PORT都可以)
Port 22
搜尋PermitRootLogin吧#註解拿掉
PermitRootLogin no
再來把這兩行的#註解拿掉
PermitEmptyPasswords no
PasswordAuthentication yes
sudo systemctl restart sshd.service 重新啟動service
sudo systemctl enable sshd.service 設定開機啟動SSH
sudo semanage port -a -t ssh_port_t -p tcp 22 防火牆允許22 PORT
或
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
重新載入防火牆設定
sudo firewall-cmd --reload
sudo netstat -ant | grep :22 查看 22PORT
查詢現在SELinux設定清單中的SSH服務有哪些Port
sudo semanage port -l | grep ssh
ssh_port_t tcp 8022, 22
怎麼測試?
格式:登入帳號@IP或主機名稱
指令:-p SSH服務Port號
sudo ssh -p 22 admin@192.168.1.100
1、先安裝openssh套件
sudo yum install openssh*
2、用gedit開啟sshd_config編輯(不要用vi很難編輯的)
sudo gedit /etc/ssh/sshd_config
3、增加可連線SSH帳號
AllowUsers admin (此欄位需要自行新增)
4、修改PORT吧#註解拿掉(可以改成8022PORT或其他PORT都可以)
Port 22
搜尋PermitRootLogin吧#註解拿掉
PermitRootLogin no
再來把這兩行的#註解拿掉
PermitEmptyPasswords no
PasswordAuthentication yes
搜尋Protocol設定使用SSHv2連線
Protocol 2
sudo systemctl restart sshd.service 重新啟動service
sudo systemctl enable sshd.service 設定開機啟動SSH
sudo semanage port -a -t ssh_port_t -p tcp 22 防火牆允許22 PORT
或
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
重新載入防火牆設定
sudo firewall-cmd --reload
sudo netstat -ant | grep :22 查看 22PORT
查詢現在SELinux設定清單中的SSH服務有哪些Port
sudo semanage port -l | grep ssh
ssh_port_t tcp 8022, 22
怎麼測試?
格式:登入帳號@IP或主機名稱
指令:-p SSH服務Port號
sudo ssh -p 22 admin@192.168.1.100
如設定的Port在清單中,那就表示SSH設定完成防火牆也開啟列外了,之後再用遠端的PuTTY輸入 IP/Port 連線,然後輸入 帳號/密碼,就能用SSH連線進入主機了,
如果遠端ssh連線軟體還是ping不到主機IP,那就是防火牆SELinux設定的問題,請參考以下教學文章吧SELinux設為disabled就能連線了,有需要的朋友參考看看!
CentOS7->SELinux設定(防火牆)
參考資料來源:
在透過 SSH 連線目標主機時,如果是第一次連線,會出現以下訊息,詢問是否要繼續連線:
The authenticity of host 'x230.ttc.caloskao.org (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:OhTNCCfw+ymd0iRXL/ZEwU9q/uJCNRKHu534yuJCxQI.
Are you sure you want to continue connecting (yes/no)?
直接按yes便會將 public key 儲存在 ~/.ssh/known_hosts,並繼續進行驗證。下一次連線時,就會知道這台主機已經驗證過身份,可以直接跳到 client 身份驗證的步驟。
如果遠端ssh連線軟體還是ping不到主機IP,那就是防火牆SELinux設定的問題,請參考以下教學文章吧SELinux設為disabled就能連線了,有需要的朋友參考看看!
參考資料來源:
留言
張貼留言