Ubuntu 开启密钥远程登陆 可用于 vscode remote 免密登录

王先生
2025-01-25 / 0 评论 / 8 阅读 / 正在检测是否收录...

1. 生成本地 SSH 密钥对

在本地机器上生成 SSH 密钥对。打开终端或命令提示符,运行以下命令:

ssh-keygen -t rsa -b 4096

如下图询问保存路径,手动选择
2025-01-25T01:46:50.png
如下图询问密码,如果要 vscode 免密登录则不能设置密码
2025-01-25T01:48:17.png
> 按提示操作,默认情况下直接按回车即可使用默认路径和设置。

2. 将公钥添加到远程服务器

将生成的公钥 (id_rsa.pub) 添加到远程服务器的 ~/.ssh/authorized_keys 文件中。可以使用以下命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host

如果 ssh-copy-id 命令不可用,可以手动将公钥内容复制到远程服务器的 ~/.ssh/authorized_keys 文件中。
将文件复制到 ~/.ssh 中, 然后使用如下命令追加
cat ./.ssh/id_rsa.pub >> ./.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

  • cat /path/to/id_rsa.pub >> ~/.ssh/authorized_keys:将公钥内容追加到 authorized_keys 文件。
  • chmod 600 ~/.ssh/authorized_keys:确保文件权限为 600,只有当前用户可以读写。

    确保 ~/.ssh 和 ~/.ssh/authorized_keys 的权限正确:

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

配置 ssh 允许密钥认证

编辑 SSH 配置文件

vim /etc/ssh/sshd_config

确保远程服务器的 SSH 配置文件 /etc/ssh/sshd_config 中启用了密钥认证:

PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

2025-01-25T01:58:10.png
2025-01-25T01:59:07.png

重启 SSH

sudo systemctl restart ssh

评论 (0)

取消