Ubuntu 上配置 SSH 公钥认证

在 Ubuntu 上配置 SSH 公钥认证的步骤如下:

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,可以手动复制公钥:

  1. 查看公钥内容:

    cat ~/.ssh/id_rsa.pub
    
  2. 登录到目标服务器:

    ssh username@hostname
    
  3. 在目标服务器上,打开 ~/.ssh/authorized_keys 文件(如果没有则创建):

    nano ~/.ssh/authorized_keys
    
  4. 将本地公钥的内容粘贴到 authorized_keys 文件中,保存并退出。

4. 设置权限

确保 ~/.ssh 目录和 authorized_keys 文件的权限正确:

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中使用私钥登录了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值