SSH(Secure Shell)是一种通过加密连接远程服务器的协议,广泛用于系统管理员和开发者对服务器进行安全管理,相较于传统的Telnet协议,SSH通过对所有传输数据加密,有效防止了信息泄露和中间人攻击,成为远程服务器登录的首选方式,本文将详细介绍SSH登录服务器的步骤、配置及安全措施,帮助用户实现高效、安全的远程管理。
SSH登录基本步骤
客户端准备:生成SSH密钥对
首次使用SSH登录时,需在客户端(本地电脑)生成密钥对(包括私钥和公钥),私钥需妥善保存在本地,公钥则需上传至服务器,通过终端执行以下命令:
ssh-keygen -t rsa -b 4096
执行后会提示保存路径(默认为~/.ssh/id_rsa
私钥和~/.ssh/id_rsa.pub
公钥),可直接按回车使用默认路径,若需设置密码保护私钥,可在提示时输入密码(可选,增强安全性)。
服务器配置:上传公钥并启用认证
将客户端生成的公钥上传至服务器,通常通过scp
(安全复制)或手动复制实现,使用scp
上传公钥:
scp ~/.ssh/id_rsa.pub user@服务器IP:~/.ssh/authorized_keys
执行后需输入服务器用户密码,上传成功后,需确保服务器端~/.ssh
目录权限为700,authorized_keys
文件权限为600(避免其他用户读取),否则可能导致认证失败:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
需检查服务器SSH服务配置文件/etc/ssh/sshd_config
,确保以下配置正确:
PermitRootLogin no
:禁用root直接登录(推荐使用普通用户登录后提权);PasswordAuthentication no
:禁用密码登录,仅允许密钥认证(提升安全性);PubkeyAuthentication yes
:启用公钥认证(默认开启)。
保存后重启SSH服务:systemctl restart sshd
。
登录服务器
配置完成后,可通过以下命令登录服务器:
- 密钥登录(推荐):
ssh -p 22 user@服务器IP
(默认端口为22,若修改过需指定-p 新端口
); - 密码登录(若未禁用密码):
ssh user@服务器IP
,输入用户密码即可。
首次登录时,系统会提示服务器指纹(Are you sure you want to continue connecting (yes/no)?
),输入yes
即可将服务器指纹添加到本地known_hosts
文件中。
SSH安全措施配置
为保障服务器安全,需强化SSH登录防护,具体措施如下:
安全措施 | 具体操作 | 说明 |
---|---|---|
禁用root直接登录 | 编辑/etc/ssh/sshd_config ,设置PermitRootLogin no |
减少root账户被暴力破解的风险,强制使用普通用户登录后提权 |
修改默认SSH端口 | 将Port 22 改为其他端口(如Port 2222 ),重启SSH服务 |
避免针对22端口的自动化扫描攻击,提升基础防护能力 |
限制登录IP | 在sshd_config 中添加AllowUsers user@192.168.1.0/24 (仅允许指定IP段) |
仅允许特定IP访问SSH,降低暴露风险 |
启用失败日志监控 | 确保SyslogFacility AUTHPRIV 开启,配置LogLevel INFO |
记录登录失败日志,便于通过工具(如fail2ban)分析异常行为 |
定期更新SSH服务 | 执行apt update && apt upgrade openssh-server (Ubuntu)或yum update openssh (CentOS) |
修复已知漏洞,确保SSH服务安全 |
相关问答FAQs
问题1:SSH登录提示“Permission denied (publickey,password)”怎么办?
解答:通常由以下原因导致:①服务器端authorized_keys
文件权限错误(需设置为600);②公钥未正确上传至authorized_keys
格式异常(确保公钥末尾无多余空格或换行符);③sshd_config
中PubkeyAuthentication
被禁用(需检查并设置为yes
),可通过ssh -v user@服务器IP
(详细模式)查看具体错误日志,定位问题。
问题2:如何避免SSH暴力破解攻击?
解答:可通过组合措施防护:①禁用密码登录,强制使用密钥认证(PasswordAuthentication no
);②部署fail2ban
工具,监控SSH登录失败日志,自动封禁恶意IP(如配置[sshd]
规则,5次失败后封禁1小时);③使用非标准SSH端口,结合防火墙(如ufw
)限制SSH访问IP;④定期更换SSH密钥,避免长期使用同一密钥对。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30260.html