凌峰创科服务平台

SSH如何登录Linux服务器?

SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地远程登录和管理Linux服务器,它通过加密所有传输的数据,确保用户名、密码和命令等敏感信息不会被窃听或篡改,以下是关于SSH登录Linux服务器的详细说明,包括基本原理、配置步骤、安全优化及常见问题解决方法。

SSH如何登录Linux服务器?-图1
(图片来源网络,侵删)

SSH登录的基本原理

SSH协议采用客户端-服务器架构,默认监听22端口,登录过程分为三步:1. 客户端发起连接请求,服务器返回公钥;2. 客户端验证服务器公钥(防止中间人攻击);3. 双方通过加密通道交换认证信息,完成登录,认证方式有两种:密码认证(简单但易受暴力破解)和密钥认证(更安全,推荐使用)。

SSH客户端的使用方法

基本登录命令

在终端中输入以下命令:

ssh username@server_ip

ssh root@192.168.1.100,首次登录时,系统会提示保存服务器公钥(输入yes确认),然后输入密码。

密钥认证配置

生成密钥对(在客户端执行):

SSH如何登录Linux服务器?-图2
(图片来源网络,侵删)
ssh-keygen -t rsa -b 4096

默认生成~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥),将公钥复制到服务器:

ssh-copy-id username@server_ip

之后登录无需密码,直接通过私钥认证。

常用参数

  • -p port:指定非默认端口(如-p 2222)。
  • -i key_file:指定私钥路径(如-i ~/.ssh/custom_key)。
  • -v:显示详细调试信息。

SSH服务端配置优化

编辑服务器配置文件/etc/ssh/sshd_config,修改以下参数以提高安全性: | 参数 | 默认值 | 推荐值 | 说明 | |------|--------|--------|------| | Port | 22 | 2222 | 更改默认端口减少攻击 | | PermitRootLogin | yes | no | 禁止root直接登录 | | PasswordAuthentication | yes | no | 禁用密码认证,强制密钥登录 | | MaxAuthTries | 6 | 3 | 限制认证尝试次数 | | AllowUsers | 无 | username@192.168.1.0/24 | 限制允许登录的用户和IP |

修改后重启SSH服务:systemctl restart sshd

SSH如何登录Linux服务器?-图3
(图片来源网络,侵删)

安全注意事项

  1. 防火墙设置:确保服务器防火墙仅开放SSH端口(如ufw allow 2222)。
  2. 定期更新:保持SSH客户端和服务端软件版本最新。
  3. 日志监控:检查/var/log/auth.log/var/log/secure中的异常登录记录。
  4. 使用密钥管理工具:如ssh-agentkeychain管理多个私钥。

常见问题解决

  1. 连接超时或拒绝:检查服务器防火墙、SSH服务状态(systemctl status sshd)及网络连通性。
  2. “Permission denied”错误:确认密钥权限(chmod 600 ~/.ssh/id_rsa)或用户是否在AllowUsers列表中。

相关问答FAQs

Q1: 如何避免SSH暴力破解攻击?
A1: 可通过以下方法增强安全性:

  1. 禁用密码认证(设置PasswordAuthentication no),仅使用密钥认证;
  2. 更改默认SSH端口(如Port 2222);
  3. 使用fail2ban工具自动封禁多次失败尝试的IP地址;
  4. 限制允许登录的用户(通过AllowUsersAllowGroups指令)。

Q2: 忘记SSH密码或密钥丢失怎么办?
A2: 若使用密码认证,可通过控制台或VNC直接登录服务器重置密码;若使用密钥认证且丢失私钥,需联系服务器管理员重置用户权限,为防止此类问题,建议定期备份私钥,并设置密码保护私钥文件(ssh-keygen -p)。

分享:
扫描分享到社交APP
上一篇
下一篇