CentOS SSH 安装与配置详解
SSH简介
SSH(Secure Shell)是一种用于计算机之间安全连接的协议,它通过加密技术确保数据传输的安全性,SSH主要用于远程登录和文件传输,是替代传统不安全的Telnet、FTP等协议的理想选择,CentOS系统中默认安装了OpenSSH服务器,但为了确保系统安全性和功能性,我们通常需要对其进行进一步的配置。
安装OpenSSH Server
在CentOS中,可以通过以下命令来安装OpenSSH Server:
sudo yum install y opensshserver
此命令将自动下载并安装OpenSSH服务器软件包,安装完成后,SSH服务通常会随系统启动而自动启动。
配置SSH服务器
1、修改配置文件:
使用vim或其他文本编辑器打开SSH服务器的配置文件/etc/ssh/sshd_config
:
```bash
sudo vim /etc/ssh/sshd_config
```
在该文件中,可以设置各种参数以控制SSH服务器的行为。
PermitRootLogin:设置为yes
允许root用户通过SSH登录,建议设置为no
以提高安全性。
PasswordAuthentication:设置为yes
允许使用密码进行身份验证。
PubkeyAuthentication:设置为yes
允许使用公钥进行身份验证。
Port:更改SSH服务的监听端口,例如设置为2222
。
保存并退出编辑器后,重启SSH服务以使更改生效:
```bash
sudo systemctl restart sshd
```
2、防火墙配置:
如果更改了SSH的监听端口,需要在防火墙中开放相应的端口:
```bash
sudo firewallcmd zone=public addport=2222/tcp permanent
sudo firewallcmd reload
```
3、设置文件夹访问权限:
对于使用密钥认证的用户,需要设置.ssh
目录及其内部文件的权限:
```bash
cd ~/.ssh
chmod 700 .ssh
chmod 600 .ssh/
```
启动与管理SSH服务
1、启动SSH服务:
```bash
sudo systemctl start sshd
```
2、设置开机自启动:
```bash
sudo systemctl enable sshd
```
3、检查SSH服务状态:
```bash
sudo systemctl status sshd
```
4、停止SSH服务:
```bash
sudo systemctl stop sshd
```
常见问题解答(FAQs)
1、如何禁止root用户通过SSH登录?
答:在/etc/ssh/sshd_config
配置文件中,找到或添加PermitRootLogin
选项,并将其值设置为no
,然后重启SSH服务以使更改生效:
```bash
sudo vim /etc/ssh/sshd_config
sudo systemctl restart sshd
```
2、如何修改SSH端口?
答:在/etc/ssh/sshd_config
配置文件中,找到或添加Port
选项,并将其值设置为您想要使用的端口号(例如2222
),然后重启SSH服务并在防火墙中开放相应的端口:
```bash
sudo vim /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo firewallcmd zone=public addport=2222/tcp permanent
sudo firewallcmd reload
```