Mac下的vscode远程ssh免密码登录(同理可迁移至windows及linux系统)
在日常开发中,使用远程服务器进行开发是非常常见的,而通过 SSH 免密码登录可以显著提高效率,避免每次连接时都需要输入密码。本文将介绍如何在
macOS 下配置 VSCode 的远程 SSH 连接,并实现免密码登录,方法同样适用于 Windows 和 Linux 系统。
1.生成 SSH 密钥对
在终端中运行以下命令生成 SSH 密钥对:
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa_4090
两次回车即可,该指令会在~/.ssh下生成两份文件,id_rsa_4090
这个名字可以自定义:
私钥:~/.ssh/id_rsa_4090
(仅自己保存,不能泄露)。
公钥:~/.ssh/id_rsa_4090.pub
(用来分发到服务器)。
2.使用 ssh-copy-id将公钥复制到服务器
运行以下命令:
ssh-copy-id username@server_ip
替换 username 为服务器用户名,server_ip 为服务器 IP 地址。
运行后,会要求输入服务器密码,完成后公钥会自动添加到服务器的 ~/.ssh/authorized_keys 文件中。
3.编辑~/.ssh/config
Host xxx#(自定义远程名字)
HostName 192.168.X.X#(远程ip地址)
Port 22#(远程ip端口)
User root#(远程服务器用户名)
# 新增下面这行语句
IdentityFile ~/.ssh/id_rsa_4090(注意是不带.pub后缀的私钥)
接着打开vscode或者ssh连接,直接就可以连上啦~
注:有的同学会在最开始将config用root权限备份一下,再次拷贝回来的时候,这个文件就是root权限了,会导致vscode显示如下
由于意外错误,无法打开编辑器: 无法读取文件’/Users/lizhijun/.ssh/config’ (NoPermissions
(FileSystemError): 出现未知错误。有关详细信息,请参阅日志。)
通过下面语句将其转为个人权限(最好不要动原始的config):
sudo chown -R lizhijun:staff ~/.ssh