SSH配置 CentOS
SSH服务
SSH(Secure Shell)是一种用于计算机之间安全连接的协议,主要用于远程登录和文件传输,在CentOS系统中,SSH服务默认通过opensshserver
软件包提供,本文将详细介绍如何在CentOS系统上安装、配置和启动SSH服务。
安装SSH服务
1、检查是否已安装SSH服务:
打开终端,使用以下命令检查是否已经安装了opensshserver
:
```bash
yum list installed | grep opensshserver
```
如果显示结果中包含opensshserver
,则说明已经安装,如果没有,请继续下一步。
2、安装SSH服务:
如果未安装,使用以下命令进行安装:
```bash
sudo yum install y opensshserver
```
安装完成后,SSH服务会自动启动。
配置SSH服务
1、编辑配置文件:
使用vi
或vim
编辑器打开SSH服务的配置文件:
```bash
sudo vi /etc/ssh/sshd_config
```
配置文件中的常用选项包括:
PermitRootLogin
:是否允许root用户通过SSH登录,建议设置为no
以提高安全性。
PermitEmptyPasswords
:是否允许空密码登录,建议设置为no
。
PasswordAuthentication
:是否允许使用密码验证,建议设置为yes
。
Port
:SSH服务的端口号,默认为22,可以根据需要更改。
2、重启SSH服务:
保存并关闭配置文件后,使用以下命令重启SSH服务以使更改生效:
```bash
sudo systemctl restart sshd
```
防火墙设置
1、开放SSH端口:
使用firewallcmd
命令开放SSH服务的22端口:
```bash
sudo firewallcmd zone=public addport=22/tcp permanent
sudo firewallcmd reload
```
可以使用以下命令查看端口是否成功添加:
```bash
firewallcmd listports
```
设置文件夹访问权限
1、设置.ssh
文件夹权限:
确保用户的.ssh
文件夹及其内部文件具有正确的权限:
```bash
cd ~
chmod 700 .ssh
chmod 600 .ssh/
ls la .ssh
```
authorized_keys
文件用于存储客户端的公钥,以便实现基于密钥的身份验证。
启动与开机自启设置
1、启动SSH服务:
使用以下命令手动启动SSH服务:
```bash
sudo systemctl start sshd
```
2、设置开机自启:
使用以下命令设置SSH服务在系统启动时自动启动:
```bash
sudo systemctl enable sshd
```
可以使用以下命令检查是否设置成功:
```bash
systemctl listunitfiles | grep ssh
```
更改SSH端口(可选)
1、修改配置文件:
如需更改SSH端口(例如改为8112),编辑/etc/ssh/sshd_config
文件:
```bash
sudo vi /etc/ssh/sshd_config
```
找到并修改Port
行,
```bash
Port 8112
```
保存并关闭文件后,重启SSH服务:
```bash
sudo systemctl restart sshd
```
2、检查新端口:
使用以下命令检查新的端口是否已开启:
```bash
netstat lnp | grep 8112
```
如果更改了SELinux策略,确保放行新端口:
```bash
sudo semanage port a t ssh_port_t p tcp 8112
```
相关问答FAQs
1、如何检查SSH服务是否正在运行?
可以通过以下命令检查SSH服务的状态:
```bash
systemctl status sshd
```
如果服务正在运行,会显示"active (running)"状态。
2、如何通过SCP复制文件到远程服务器?
使用scp
命令将本地文件复制到远程服务器:
```bash
scp localfile.txt user@remote_ip:/path/to/destination/
```
使用scp
命令从远程服务器复制文件到本地:
```bash
scp user@remote_ip:/path/to/source/remotefile.txt /path/to/local/destination/
```