网络知识
centos虚拟机SSH设置
2025-07-16 11:29  点击:4

在CentOS虚拟机上设置SSH服务,可以按照以下步骤进行:

安装OpenSSH服务器

首先,确保你的CentOS系统是最新的。你可以使用以下命令更新系统:

sudo yum update -y

然后,安装OpenSSH服务器:

sudo yum install openssh-server -y
启动并启用SSH服务

安装完成后,启动SSH服务并设置为开机自启:

sudo systemctl start sshdsudo systemctl enable sshd
检查SSH服务状态

确保SSH服务正在运行:

sudo systemctl status sshd

你应该看到类似以下的输出,表示SSH服务正在运行:

sshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)Active: active (running) since ...
配置SSH服务

SSH的配置文件位于 /etc/ssh/sshd_config。你可以使用文本编辑器(如 vinano)来编辑这个文件:

sudo vi /etc/ssh/sshd_config

在配置文件中,你可以进行各种设置,例如:

修改默认端口:如果你想更改SSH的默认端口(22),可以找到 #Port 22 这一行,去掉注释符号 #,并将端口号改为你想要的任何数字,例如:

Port 2222

禁用root登录:为了增加服务器的安全性,建议禁用root用户直接登录。找到 PermitRootLogin 这一行,设置为 no

PermitRootLogin no

限制登录用户:如果你只希望特定的用户能够通过SSH登录服务器,你可以使用以下配置。在配置文件的末尾添加以下行来允许特定用户:

AllowUsers user1 user2

user1user2 替换为你希望允许的用户的用户名。

启用公钥认证:为了提高安全性,建议使用密钥认证而非密码认证。在客户端生成密钥对(公钥和私钥):

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=sshsudo firewall-cmd --reload
测试SSH连接

现在,你可以从另一台机器上测试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