CentOS 安装 SSH
SSH 简介
SSH(Secure Shell)是一种用于保护远程登录会话和其他网络服务安全的协议,相比于 Telnet,SSH 提供了更强的安全性和更快的传输速度,是大多数公司服务器进行远程连接的首选协议。
安装步骤
1、检查是否已安装 OpenSSH:
在终端输入以下命令查看是否已经安装了 OpenSSH 服务:
```bash
rpm qa | grep E "openssh"
```
如果显示结果包含opensshserver
和opensshclients
,则表示已经安装。
2、安装 OpenSSH:
如果未安装,使用以下命令进行安装:
```bash
yum install y opensshserver
```
安装完成后,可以使用相同的命令检查是否安装成功。
3、配置 OpenSSH:
使用文本编辑器(如 Vim)打开主配置文件:
```bash
vim /etc/ssh/sshd_config
```
修改或添加以下常见配置选项:
```plaintext
Port=22 # 设置 SSH 端口号为 22(默认)
Protocol 2 # 启用 SSH 版本 2 协议
ListenAddress 0.0.0.0 # 设置服务监听的地址
DenyUsers user1 user2 # 拒绝访问的用户(用空格隔开)
AllowUsers root osmond # 允许访问的用户(用空格隔开)
PermitRootLogin no # 禁止 root 用户登录
PermitEmptyPasswords no # 用户登录需要密码认证
PasswordAuthentication yes # 启用口令认证方式
```
保存并退出文件后,重启 SSH 服务以应用更改:
```bash
systemctl restart sshd.service
```
4、开启防火墙端口:
如果无法连接,可能是防火墙未开放 22 端口,使用以下命令开放端口:
```bash
firewallcmd zone=public addport=22/tcp permanent
firewallcmd reload
```
确认端口已开放:
```bash
netstat an | grep 22
```
如果看到 LISTEN 状态的 22 端口,说明端口已开放。
5、测试 SSH 连接:
在客户端设备上使用 SSH 工具(如 Xshell、PuTTY 或内置的 SSH 客户端)连接到服务器,输入服务器的 IP 地址和用户名,即可进行远程登录。
常见问题解答
1、为什么无法通过 SSH 连接服务器?
可能原因:防火墙未开放 22 端口;SSH 服务未启动或配置错误。
解决方法:检查防火墙设置,确保 22 端口已开放;检查 SSH 服务状态并重启服务。
2、如何设置免密码登录?
步骤:
1. 在客户端生成 SSH 密钥对:sshkeygen t rsa
2. 将公钥复制到服务器的~/.ssh/authorized_keys
文件中:sshcopyid user@server
3. 确保服务器的~/.ssh
目录权限正确:chmod 700 ~/.ssh; chmod 600 ~/.ssh/
注意事项:确保私钥安全存储,避免泄露。
通过以上步骤,您可以在 CentOS 系统上顺利安装和配置 SSH 服务,实现安全的远程连接和管理。