在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 listall
2、权限问题
确保/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登录,确保远程访问的安全性和便捷性。