首页 云服务器VPS XShell配置Ubuntu的SSH密钥登陆教程

XShell配置Ubuntu的SSH密钥登陆教程

使用XShell配置Ubuntu的SSH密钥认证是一个常见的远程服务器管理方式,可以提高安全性。以下是一个简明易懂的教程,指导你在Ubuntu系统上通过XShell配置SSH密钥认证:


前提条件

  1. Ubuntu服务器:确保你的Ubuntu服务器已安装并启用SSH服务(OpenSSH)。

  2. XShell:确保你已安装XShell(Windows环境下推荐的SSH客户端)。

  3. 权限:你需要对Ubuntu服务器具有管理员(sudo)权限或root访问权限。

  4. 网络连接:确保本地计算机和Ubuntu服务器之间的网络连通性。


步骤一:检查Ubuntu服务器上的SSH服务

  1. 登录Ubuntu服务器

    • 使用现有密码登录(如果尚未配置密钥认证)。

    • 打开终端,运行以下命令检查SSH服务是否运行:

      sudo systemctl status ssh

      如果显示 Active: active (running),说明SSH服务正常运行。如果未运行,启用并启动:

      sudo systemctl enable ssh
      sudo systemctl start ssh
  2. 确保防火墙允许SSH

    • 如果Ubuntu启用了UFW防火墙,确保端口22(默认SSH端口)开放:

      sudo ufw allow 22
      sudo ufw status

步骤二:在本地计算机上生成SSH密钥对

  1. 打开XShell的密钥管理器

    • 启动XShell,点击菜单栏的 工具(Tools) -> 用户密钥管理器(User Key Manager)

    • 点击 生成(Generate) 按钮,选择密钥类型(推荐使用RSA,4096位)。

  2. 生成密钥对

    • 在弹出的窗口中,选择密钥类型(例如:RSA)和位数(4096位推荐)。

    • 输入密钥名称(例如:my_ssh_key),可选择设置密码(Passphrase)以增加安全性。

    • 点击 下一步(Next),XShell会生成公钥和私钥对。

    • 保存公钥(.pub 文件)和私钥(默认保存到 C:\Users\YourUsername\Documents\NetSarang Computer\7\Xshell\Keys)。

  3. 复制公钥内容

    • 打开生成的公钥文件(.pub),复制全部内容(格式类似:ssh-rsa 一长串字符 [email protected])。


步骤三:将公钥添加到Ubuntu服务器

  1. 登录Ubuntu服务器

    • 使用XShell通过密码方式临时连接到你的Ubuntu服务器(IP地址、用户名和密码)。

  2. 创建.ssh目录

    • 在服务器上,进入用户家目录并创建 .ssh 文件夹(如果不存在):

      mkdir -p ~/.ssh
      chmod 700 ~/.ssh
  3. 添加公钥到authorized_keys

    • 将复制的公钥内容追加到 ~/.ssh/authorized_keys 文件中:

      echo '你的公钥内容' >> ~/.ssh/authorized_keys

      替换 '你的公钥内容' 为从XShell复制的公钥字符串。例如:

      echo 'ssh-rsa AAAAB3NzaC1yc2E... [email protected]' >> ~/.ssh/authorized_keys
  4. 设置正确的文件权限

    • 确保 authorized_keys 文件具有正确的权限:

      chmod 600 ~/.ssh/authorized_keys

步骤四:在XShell中配置密钥认证

  1. 创建新会话

    • 在XShell中,点击 文件(File) -> 新建(New),输入Ubuntu服务器的IP地址和端口(默认22)。

    • 用户认证(User Authentication) 部分,选择 公钥(Public Key) 作为认证方法。

  2. 选择私钥

    • 点击 浏览(Browse),选择之前生成的私钥文件(例如:my_ssh_key)。

    • 如果设置了密码(Passphrase),输入对应的密码。

  3. 测试连接

    • 点击 连接(Connect),如果配置正确,你应该能够无需输入密码直接登录到Ubuntu服务器。

    • 如果收到类似 The authenticity of host ... can't be established 的提示,输入 yes 确认并继续。


步骤五:(可选)禁用密码认证以提高安全性

  1. 编辑SSH配置文件

    • 在Ubuntu服务器上,编辑SSH配置文件 /etc/ssh/sshd_config

      sudo nano /etc/ssh/sshd_config
    • 找到以下行(如果没有,添加):

      PasswordAuthentication no
      PubkeyAuthentication yes
    • 保存并退出(在nano中,按 Ctrl+O 保存,Ctrl+X 退出)。

  2. 重启SSH服务

    • 应用更改:

      sudo systemctl restart ssh
  3. 测试新配置

    • 使用XShell重新连接,确保密钥认证正常工作。如果无法连接,检查 sshd_config 和文件权限。


步骤六:备份和安全注意事项

  1. 备份私钥

    • 将私钥文件(例如:my_ssh_key)备份到安全位置(如加密的U盘)。

    • 如果私钥丢失且密码认证已禁用,你将无法远程访问服务器。

  2. 保护私钥

    • 确保私钥文件仅限你访问,避免存储在共享或不安全的设备上。

    • 如果设置了密码(Passphrase),定期更新并牢记。

  3. 检查服务器权限

    • 确保 ~/.ssh 目录和 authorized_keys 文件的权限正确(700 和 600)。

    • 如果使用root账户配置用户密钥,确保 ~/.ssh 目录属于正确用户:

      sudo chown user:user ~/.ssh

故障排查

  1. 无法连接

    • 检查服务器SSH服务是否运行:sudo systemctl status ssh

    • 确认防火墙或网络安全组是否允许端口22。

    • 验证 ~/.ssh/authorized_keys 中的公钥是否正确。

  2. 仍需密码

    • 确保 sshd_config 中的 PubkeyAuthentication 设置为 yes

    • 检查 ~/.ssh/authorized_keys 文件权限是否为 600。

  3. XShell密钥问题

    • 确保选择了正确的私钥文件。

    • 如果设置了密码(Passphrase),确认输入正确。

为您推荐

KVM VPS与AMD Ryzen VPS的区别与选择

KVM VPS与AMD Ryzen VPS的区别与选择

你提供的图片中展示了三种 VPS 产品类型: 🧩 它们分别是: KVM VPS AMD Ryzen VPS Window...
VPS与云服务器中Dedicated CPU(专用CPU)与Shared CPU(共享CPU)区别

VPS与云服务器中Dedicated CPU(专用CPU)与Shared CPU(共享CPU)区别

在VPS(Virtual Private Server)中,Dedicated CPU(专用CPU)与Shared CP...
高防VPS推荐与选购指南

高防VPS推荐与选购指南

什么是高防VPS? 高防VPS是指具备强大DDoS防御能力的虚拟专用服务器。与普通VPS相比,高防VPS通常配备专门的防...
斯巴达SpartanHost

Wowrack 西雅图数据中心介绍(斯巴达SpartanHost)

Wowrack 是一家成立于2001年的全球云解决方案和托管服务提供商,总部位于美国华盛顿州西雅图,以提供高可用性、高性...

VPS购买推荐要看CPU性能,推荐AMD Ryzen VPS与AMD EPYC

VPS购买推荐要看CPU性能,推荐AMD Ryzen VPS与AMD EPYC VPS推荐美国西海岸的2家公司 Spar...
上当了,AlphaVPS购买的VPS不支持退款

上当了,AlphaVPS购买的VPS不支持退款

购买海外主机一定要用paypal,其他支付手段商家可能会玩手段! Hello, A refund would not b...
返回顶部