准备工作
1、系统更新:确保您的CentOS系统是最新的,通过执行以下命令来更新系统:
sudo yum update
2、检查是否已安装OpenSSH:大多数CentOS系统默认已经安装了OpenSSH,但为了确认,可以运行以下命令:
rpm q opensshserver
如果未安装,您将不会看到任何输出。
安装OpenSSH服务
1、安装OpenSSH服务器:使用Yum包管理器安装OpenSSH服务器:
sudo yum install opensshserver y
2、启动SSH服务:安装完成后,启动SSH服务:
sudo systemctl start sshd
3、设置开机自启动:为了确保每次系统启动时SSH服务都能自动启动,执行以下命令:
sudo systemctl enable sshd
配置SSH服务
1、编辑配置文件:打开SSH服务的配置文件进行编辑:
sudo vi /etc/ssh/sshd_config
根据需要修改以下常见参数:
参数 | 描述 |
Port 22 | 指定SSH连接的端口号,默认为22 |
Protocol 2 | 允许使用SSH版本2协议 |
PermitRootLogin no | 禁止root用户登录 |
PasswordAuthentication yes | 启用密码认证方式 |
PubkeyAuthentication yes | 启用公钥认证方式 |
2、重启SSH服务:保存并关闭配置文件后,重启SSH服务以使更改生效:
sudo systemctl restart sshd
提升SSH安全性
1、更改默认端口:为了提高安全性,建议将SSH服务的监听端口从默认的22改为其他不常用的端口:
sudo vi /etc/ssh/sshd_config 将Port 22改为例如Port 2000,然后保存并退出 sudo systemctl restart sshd
2、限制访问IP:可以通过编辑/etc/hosts.allow
和/etc/hosts.deny
文件来限制哪些IP地址可以访问SSH服务,只允许特定IP地址访问:
echo "sshd: 192.168.0.101" >> /etc/hosts.allow echo "sshd: ALL" >> /etc/hosts.deny
3、使用密钥对认证:生成SSH密钥对并配置无密码登录,以提高安全性:
在客户端生成密钥对 sshkeygen t rsa 将公钥复制到服务器的authorized_keys文件中 sshcopyid user@your_server_ip
常见问题及解答(FAQs)
1、如何验证SSH服务是否正在运行?
回答:您可以使用以下命令来检查SSH服务的状态:
```bash
sudo systemctl status sshd
```
如果SSH服务正在运行,您将看到类似于以下的输出:
```plaintext
● sshd.service OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since ...
```
2、如何禁用root用户的SSH登录?
回答:可以通过编辑/etc/ssh/sshd_config
文件,将PermitRootLogin
参数设置为no
来禁止root用户通过SSH登录:
```bash
sudo vi /etc/ssh/sshd_config
# 找到或添加以下行,并将其值设置为no
PermitRootLogin no
# 保存并退出,然后重启SSH服务
sudo systemctl restart sshd
```