基础连接方法
安装SSH客户端
CentOS通常预装OpenSSH客户端,若未安装则执行:
sudo yum install openssh-clients # CentOS 7 sudo dnf install openssh-clients # CentOS 8+
基本连接命令
ssh username@server_ip
- 参数说明:
username
:远程服务器的用户账号(如root
或自定义用户)server_ip
:服务器IP地址或域名(如168.1.100
或example.com
)
示例:
ssh admin@203.0.113.5
首次连接会提示确认主机指纹,输入 yes
后继续,再输入对应用户密码即可登录。
高级连接配置
指定端口连接
若服务器SSH端口非默认22(如 2222
):
ssh -p 2222 username@server_ip
密钥认证登录(推荐)
步骤:
- 生成本地密钥对:
ssh-keygen -t rsa -b 4096 # 默认存储到 ~/.ssh/id_rsa
- 上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
输入密码后,公钥将自动追加到服务器的
~/.ssh/authorized_keys
。 - 免密登录:
ssh username@server_ip # 无需密码直接登录
常见问题解决
连接超时/拒绝连接
- 检查网络:
ping server_ip
- 确认服务状态:
ssh -v username@server_ip # 启用详细日志
- 服务器端排查:
- 防火墙是否放行端口:
sudo firewall-cmd --list-ports # 查看开放端口 sudo firewall-cmd --add-port=22/tcp --permanent # 开放22端口 sudo firewall-cmd --reload
- SSH服务是否运行:
sudo systemctl status sshd # 检查状态 sudo systemctl start sshd # 启动服务
- 防火墙是否放行端口:
密钥登录失败
- 权限配置:
确保服务器上以下文件权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- 关闭密码登录(增强安全):
编辑服务器/etc/ssh/sshd_config
:PasswordAuthentication no # 禁用密码登录 PubkeyAuthentication yes # 启用密钥登录
重启服务:
sudo systemctl restart sshd
安全最佳实践
- 禁用root登录:
修改服务器/etc/ssh/sshd_config
:PermitRootLogin no
- 修改默认端口:
将Port 22
改为其他端口(如1022
),减少暴力破解风险。 - 使用强密码:
若需密码登录,确保密码长度>12位,含大小写字母、数字及符号。 - 定期更新:
sudo yum update openssh* # CentOS 7 sudo dnf upgrade openssh # CentOS 8+
常用命令总结
命令 | 作用 |
---|---|
ssh user@host |
基础连接 |
ssh -p port user@host |
指定端口连接 |
ssh -i ~/.ssh/custom_key user@host |
使用自定义密钥 |
scp -P port file user@host:/path |
安全传输文件 |
通过以上步骤,您可高效安全地管理远程服务器,建议优先使用密钥认证,并定期审计服务器日志(/var/log/secure
)以监控异常登录。
引用说明基于OpenSSH 8.0官方文档、CentOS系统手册及Linux安全最佳实践编写,所有命令均在CentOS 7/8真实环境测试通过,技术细节参考Red Hat Enterprise Linux (RHEL) 官方安全指南。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6590.html