跳到主要內容

CentOS7啟用ssh的設定方法-教學撰寫:徐嘉裕Neil hsu

安裝好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

搜尋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 連線目標主機時,如果是第一次連線,會出現以下訊息,詢問是否要繼續連線:

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就能連線了,有需要的朋友參考看看!

CentOS7->SELinux設定(防火牆)


參考資料來源:

留言