您的当前位置:首页正文

Ubuntu 上配置 SSH 公钥认证

2024-11-08 来源:个人技术集锦

1. 生成 SSH 密钥对

如果你还没有 SSH 密钥对,可以使用以下命令生成:(win可以用git的终端)

ssh-keygen -t rsa -b 4096
  • 按提示选择保存位置(默认是 ~/.ssh/id_rsa,win在C:\Users\你的用户名\.ssh)。
  • 可以选择设置一个密码,增加安全性。
  • -t rsa
    • 这个选项指定了密钥的类型。rsa 表示使用 RSA 算法生成密钥。RSA 是一种广泛使用的公钥加密算法,适用于安全通信。
  • -b 4096
    • 这个选项指定了密钥的位数(长度)。4096 表示生成一个 4096 位长的密钥。这是一个较长的密钥长度,通常被认为是安全的,能够抵御现代计算能力的攻击。

2. 将公钥复制到目标服务器

使用 ssh-copy-id 命令将公钥复制到目标服务器:

ssh-copy-id username@hostname
  • username 替换为你的用户名,hostname 替换为目标服务器的 IP 地址或域名。
  • 输入目标服务器的密码。
  • 或者直接上传文件id_rsa.pub后写入/ubuntu用户名/.ssh/authorized_keys文件

3. 手动复制公钥(可选)

如果你无法使用 ssh-copy-id,可以手动复制公钥:

4. 设置权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

5. 测试 SSH 登录

现在你可以尝试使用 SSH 登录到目标服务器,看看是否可以不输入密码:

ssh username@hostname

6. 配置 SSH 服务(可选)

如果需要,可以编辑 SSH 配置文件 /etc/ssh/sshd_config,确保以下设置:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然后重启 SSH 服务:

sudo systemctl restart ssh

总结

通过以上步骤,你应该能够成功配置 SSH 公钥认证,然后就可以在xshell中使用私钥登录了。

Top