在CentOS 7中,SSH(Secure Shell)登录是一项非常重要的功能,它提供了一种安全的方式来远程访问和管理服务器,以下是关于如何在CentOS 7上配置和使用SSH登录的详细指南:
安装和配置OpenSSH服务
1、检查是否已安装OpenSSH服务

rpm qa | grep openssh
如果显示结果包含opensshserver和opensshclients,则表示已经安装。
2、安装OpenSSH服务
如果未安装,可以使用以下命令进行安装:
yum install opensshserver y
3、配置OpenSSH服务
OpenSSH的主配置文件位于/etc/ssh/sshd_config,可以使用以下命令编辑该文件:
vi /etc/ssh/sshd_config
常见配置选项包括:

Port 22:设置SSH的端口号为22(默认)。
ListenAddress 0.0.0.0:监听所有网络接口。
PermitRootLogin no:禁止root用户登录。
PasswordAuthentication yes:启用密码认证。
PubkeyAuthentication yes:启用公钥认证。
4、重启OpenSSH服务

systemctl restart sshd
5、设置开机自启动
systemctl enable sshd
6、防火墙配置
确保防火墙允许SSH连接:
firewallcmd zone=public addport=22/tcp permanent firewallcmd reload
SSH登录方式
1、使用用户名和密码登录
ssh username@hostname_or_ip
2、使用密钥对登录
生成密钥对
sshkeygen t rsa 按提示操作,通常会将密钥保存在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。
将公钥添加到服务器
cat ~/.ssh/id_rsa.pub | ssh user@hostname 'mkdir p ~/.ssh && cat >> ~/.ssh/authorized_keys'设置权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys常见问题及解决方法
1、无法连接到SSH服务
检查SSH服务是否正在运行:
systemctl status sshd确保防火墙允许SSH端口:
firewallcmd listall2、权限问题
确保/home/username/.ssh目录的权限正确:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys| 步骤 | 命令 | 描述 |
||||
| 检查是否已安装OpenSSH服务 |rpm qa | grep openssh | 确认系统是否已安装OpenSSH服务 |
| 安装OpenSSH服务 |yum install opensshserver y | 安装OpenSSH服务 |
| 配置OpenSSH服务 |vi /etc/ssh/sshd_config | 编辑SSH配置文件 |
| 重启OpenSSH服务 |systemctl restart sshd | 重启SSH服务 |
| 设置开机自启动 |systemctl enable sshd | 设置SSH服务开机自启动 |
| 防火墙配置 |firewallcmd zone=public addport=22/tcp permanent<br>firewallcmd reload | 确保防火墙允许SSH连接 |
| 使用用户名和密码登录 |ssh username@hostname_or_ip | 使用用户名和密码进行SSH登录 |
| 生成密钥对 |sshkeygen t rsa | 生成SSH密钥对 |
| 将公钥添加到服务器 |cat ~/.ssh/id_rsa.pub | ssh user@hostname 'mkdir p ~/.ssh && cat >> ~/.ssh/authorized_keys' | 将公钥添加到服务器 |
| 设置权限 |chmod 700 ~/.ssh<br>chmod 600 ~/.ssh/authorized_keys | 设置SSH目录和文件的权限 |
通过上述步骤,您可以在CentOS 7上成功配置和使用SSH登录,确保远程访问的安全性和便捷性。
