ssh 用户名@主机地址 -p 端口号
(默认端口22可省略)。 ,首次连接需验证主机密钥,推荐使用密钥认证替代密码更安全。SSH(Secure Shell) 是一种加密的网络协议,用于安全地远程登录和管理Linux服务器,它通过加密通道传输数据,有效防止信息泄露,是运维人员和开发者的必备技能,以下是详细操作指南:
准备工作
-
确认远程服务器已开启SSH服务
在服务器终端执行:sudo systemctl status sshd
若显示
active (running)
表示服务已启动,未安装时使用sudo apt install openssh-server
(Debian/Ubuntu)或sudo yum install openssh-server
(CentOS/RHEL)安装。 -
获取连接信息
- 服务器IP地址:在服务器执行
ip a
或hostname -I
查看。 - SSH端口:默认为
22
(可在/etc/ssh/sshd_config
修改)。 - 用户名:登录账号(如
root
或普通用户)。 - 密码或密钥:账号密码或预先配置的SSH密钥对。
- 服务器IP地址:在服务器执行
使用密码登录(基础方法)
命令格式:
ssh 用户名@服务器IP -p 端口号
示例:
ssh root@192.168.1.100 -p 22
- 首次连接会提示确认服务器指纹,输入
yes
后继续。 - 输入用户密码即可登录(密码输入时不可见)。
- 登录成功显示远程服务器的终端提示符(如
root@server:~#
)。
注意:频繁登录建议改用密钥认证(更安全)。
使用密钥登录(推荐安全方式)
步骤1:生成密钥对(本地操作)
ssh-keygen -t ed25519
- 按提示设置密钥存储路径(默认
~/.ssh/id_ed25519
)和密码(可选增强保护)。 - 生成两个文件:
- 私钥:
id_ed25519
(需妥善保管,权限设为600)。 - 公钥:
id_ed25519.pub
(需上传到服务器)。
- 私钥:
步骤2:上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP -p 端口
输入密码后,公钥会自动追加到服务器的 ~/.ssh/authorized_keys
文件中。
步骤3:直接登录(无需密码)
ssh 用户名@服务器IP
若私钥有密码保护,首次登录需输入私钥密码。
常见问题与解决方案
问题 | 原因 | 解决方法 |
---|---|---|
Connection refused | SSH服务未运行或防火墙拦截 | 检查 sshd 状态,开放防火墙端口:sudo ufw allow 22 |
Permission denied | 用户名/密码错误或密钥未授权 | 核对凭据;确认 authorized_keys 文件权限为 600 |
Network unreachable | IP地址错误或网络不通 | 用 ping 服务器IP 测试网络连通性 |
Host key changed | 服务器重装系统或密钥变更 | 删除本地旧指纹:ssh-keygen -R 服务器IP |
安全强化建议
-
禁用密码登录(仅允许密钥):
编辑服务器/etc/ssh/sshd_config
:PasswordAuthentication no ChallengeResponseAuthentication no
重启服务:
sudo systemctl restart sshd
。 -
修改默认SSH端口:
在配置文件中修改Port 2222
(示例),减少暴力破解风险。 -
禁止root直接登录:
设置PermitRootLogin no
,改用普通用户登录后sudo
提权。 -
启用Fail2Ban:
自动封禁多次登录失败的IP:sudo apt install fail2ban # Debian/Ubuntu sudo systemctl enable fail2ban
SSH是安全运维的核心工具,密钥登录比密码更可靠,定期更新系统、监控登录日志(/var/log/auth.log
)可进一步提升安全性,掌握这些操作,您将能高效管理任何Linux服务器。
引用说明参考OpenSSH官方文档(openssh.com)及Linux man手册,遵循最佳安全实践。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/17173.html