本文目录导读:
CentOS 重装 OpenSSH

随着Linux系统的普及,OpenSSH成为了远程连接服务器的重要工具,在CentOS系统中,重装OpenSSH是一个常见的操作,以下将详细介绍如何在CentOS上重装OpenSSH,并确保其正常运行。
停止当前SSH服务
在开始重装之前,首先需要停止当前正在运行的SSH服务,使用以下命令来停止SSH服务:
sudo systemctl stop sshd
卸载旧的OpenSSH
使用以下命令卸载旧的OpenSSH:
sudo yum remove openssh-server
安装新的OpenSSH
使用以下命令安装新的OpenSSH:
sudo yum install openssh-server
这个过程可能会需要一些时间,请耐心等待。
启动并启用SSH服务
安装完成后,启动SSH服务:
sudo systemctl start sshd
为了确保SSH服务在系统启动时自动运行,需要启用SSH服务:
sudo systemctl enable sshd
配置SSH服务
默认情况下,OpenSSH的配置文件位于/etc/ssh/ssh_config和/etc/ssh/sshd_config,你可以通过编辑这些文件来配置SSH服务。

/etc/ssh/ssh_config:这是客户端的配置文件,主要用于设置客户端连接到服务器时的默认行为。
/etc/ssh/sshd_config:这是服务器的配置文件,包含了SSH服务器的配置信息,如端口、用户权限等。
以下是一些常见的配置选项:
| 配置选项 | 说明 |
|---|---|
| Port | SSH服务监听的端口,默认为22。 |
| PermitRootLogin | 是否允许root用户登录,建议设置为no。 |
| PasswordAuthentication | 是否允许密码认证,建议设置为no,改为使用密钥认证。 |
| AllowUsers | 允许登录的用户列表,可以指定用户名或用户名@IP地址。 |
| DenyUsers | 禁止登录的用户列表,可以指定用户名或用户名@IP地址。 |
重启SSH服务
完成配置后,重启SSH服务以应用更改:
sudo systemctl restart sshd
验证SSH服务
使用以下命令检查SSH服务是否正在运行:
sudo systemctl status sshd
确保状态为“active (running)”表示SSH服务正在运行。
FAQs
Q1:如何生成SSH密钥对?
A1:你可以使用以下命令生成SSH密钥对:

ssh-keygen -t rsa -b 4096
这将生成一个名为id_rsa的私钥和一个名为id_rsa.pub的公钥。
Q2:如何将公钥添加到SSH服务器的~/.ssh/authorized_keys文件中?
A2:将公钥的内容复制到SSH服务器的~/.ssh/authorized_keys文件中,如果该文件不存在,你需要先创建它:
sudo touch /home/用户名/.ssh/authorized_keys sudo chmod 600 /home/用户名/.ssh/authorized_keys sudo chown 用户名:用户名 /home/用户名/.ssh/authorized_keys
将公钥的内容追加到authorized_keys文件中:
sudo su - 用户名 nano ~/.ssh/authorized_keys
粘贴到文件中,然后保存并退出。

