服务器SSH服务安装、重启与免密登录配置
以下是在Linux服务器上安装SSH服务、重启服务以及配置免密登录的详细步骤:1. 安装SSH服务
大多数Linux发行版已预装OpenSSH服务器。若未安装,可通过以下命令安装:
Debian/Ubuntu
sudo apt update
sudo apt install openssh-server -y
CentOS/RHEL
sudo yum install openssh-server -y# CentOS 7及以下
# 或
sudo dnf install openssh-server -y# CentOS 8+/RHEL 8+
验证安装
ssh -V# 查看SSH版本
2. 启动并启用SSH服务
# 启动服务
sudo systemctl start sshd
# 设置开机自启
sudo systemctl enable sshd
# 检查服务状态
sudo systemctl status sshd
防火墙配置(如启用)
# 允许SSH端口(默认22)
sudo ufw allow 22# 若使用UFW
# 或
sudo firewall-cmd --permanent --add-service=ssh# 若使用firewalld
sudo firewall-cmd --reload
3. 重启SSH服务
修改配置后需重启服务生效:
sudo systemctl restart sshd
4. 配置SSH免密登录
步骤1:本地生成密钥对(客户端操作)
在本地机器(如你的电脑)上执行:
ssh-keygen -t rsa# 生成RSA密钥(默认保存在`~/.ssh/id_rsa`)
# 可直接按回车跳过密码设置,实现完全免密
步骤2:将公钥上传到服务器
ssh-copy-id user@server_ip# 自动将公钥添加到服务器的`~/.ssh/authorized_keys`
# 或手动复制公钥内容到服务器的`~/.ssh/authorized_keys`文件中
步骤3:服务器端配置(可选)
编辑SSH配置文件以增强安全性:
sudo vim /etc/ssh/sshd_config
[*]确保以下配置存在(按需调整):
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication no # 禁用密码登录(仅允许密钥)
PubkeyAuthentication yes# 启用密钥认证
[*]保存后重启SSH服务:
sudo systemctl restart sshd
步骤4:测试免密登录
ssh user@server_ip# 应直接登录,无需输入密码
5. 常见问题排查
[*]权限问题:确保~/.ssh目录权限为700,authorized_keys文件权限为600。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
[*]SELinux/AppArmor:若启用,需确保策略允许SSH访问相关目录。
[*]日志检查:
sudo tail -f /var/log/auth.log# Debian/Ubuntu
# 或
sudo journalctl -u sshd # CentOS/RHEL
总结
[*]安装:通过包管理器安装openssh-server。
[*]启动:使用systemctl管理服务。
[*]免密登录:通过ssh-keygen和ssh-copy-id配置密钥对。
[*]安全优化:禁用root登录和密码认证,提升安全性。
通过以上步骤,你可以高效管理服务器的SSH访问并实现安全的免密登录。
页:
[1]