在日常开发和运维工作中,频繁连接远程服务器登录并输入密码,不仅繁琐,还存在安全隐患。配置免密登录,能极大提升工作效率与安全性。本文将详细介绍如何在 Windows 主机(本地)与 Ubuntu 主机(远程)之间,通过 SSH 实现 Cursor / Vscode 的免密登录。
通过Extensions安装Romote - SSH插件

添加 SSH 主机,Ctrl + Shift + P,输入ssh,选择:Remote-SSH: Connect to Host,第一次选择:Add New SSH Host,使用 SSH 命令连接到 Ubuntu 远程主机,命令格式为ssh username@remote_host_ip,将username替换为你的远程主机用户名,remote_host_ip替换为远程主机的 IP 地址:
输入密码,登录成功,第二次登录可以直接选择连接过的host进行连接。

使用 rsa生成密钥对:
全部回车,会在C:Users你的用户名下/.ssh/生成私钥id_rsa,公钥id_rsa.pub。
cmd查看密钥:
powershell查看密钥:
复制显示的公钥内容,服务器上运行:
粘贴公钥内容,保存退出。接着设置authorized_keys文件的权限,确保只有当前用户可读可写:
设置.ssh目录权限:为保证安全,还需设置.ssh目录的权限:
Ctrl + Shift + P,输入ssh,选择:Remote-SSH: Connect to Host,再选择Configure SSH Hosts

Ctrl + Shift + P,输入ssh,选择:Remote-SSH: Connect to Host,选择之前添加的主机192.168.254.129,不需要再次输入密码即设置免密登录成功。
权限问题:如果出现 “Permissions 0644 for ‘/home/username/.ssh/authorized_keys’ are too open.” 的错误提示,说明authorized_keys文件权限过大,可使用chmod 600 ~/.ssh/authorized_keys命令将权限修改为正确值。
密钥未生效:若仍然需要输入密码登录,可检查公钥是否正确添加到authorized_keys文件中,确保文件中没有多余的空格或换行。也可以在 Ubuntu 远程主机上查看/var/log/auth.log日志文件,查找相关错误信息进行排查。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/226258.html