在CentOS虛擬機上設置SSH服務,可以按照以下步驟進行:
首先,確保你的CentOS系統是最新的。你可以使用以下命令更新系統:
sudo yum update -y
然后,安裝OpenSSH服務器:
sudo yum install openssh-server -y
安裝完成后,啟動SSH服務并設置為開機自啟:
sudo systemctl start sshd
sudo systemctl enable sshd
確保SSH服務正在運行:
sudo systemctl status sshd
你應該看到類似以下的輸出,表示SSH服務正在運行:
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since ...
SSH的配置文件位于 /etc/ssh/sshd_config
。你可以使用文本編輯器(如 vi
或 nano
)來編輯這個文件:
sudo vi /etc/ssh/sshd_config
在配置文件中,你可以進行各種設置,例如:
修改默認端口:如果你想更改SSH的默認端口(22),可以找到 #Port 22
這一行,去掉注釋符號 #
,并將端口號改為你想要的任何數字,例如:
Port 2222
禁用root登錄:為了增加服務器的安全性,建議禁用root用戶直接登錄。找到 PermitRootLogin
這一行,設置為 no
:
PermitRootLogin no
限制登錄用戶:如果你只希望特定的用戶能夠通過SSH登錄服務器,你可以使用以下配置。在配置文件的末尾添加以下行來允許特定用戶:
AllowUsers user1 user2
將 user1
和 user2
替換為你希望允許的用戶的用戶名。
啟用公鑰認證:為了提高安全性,建議使用密鑰認證而非密碼認證。在客戶端生成密鑰對(公鑰和私鑰):
ssh-keygen
將公鑰添加到服務器上的 ~/.ssh/authorized_keys
文件中。
修改 /etc/ssh/sshd_config
,將 PasswordAuthentication
設置為 no
(可選,取決于是否完全依賴密鑰認證):
PasswordAuthentication no
修改配置后,重啟SSH服務使更改生效:
sudo systemctl reload sshd
如果你的CentOS系統啟用了防火墻(如 firewalld
),你需要允許SSH流量通過防火墻:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
現在,你可以從另一臺機器上測試SSH連接到你的CentOS服務器。使用以下命令:
ssh username@server_ip_address -p port_number
其中 username
是登錄到SSH服務器的用戶名,server_ip_address
是服務器的IP地址,port_number
是SSH服務器監聽的端口號。
例如:
ssh your_username@your_server_ip -p 2222