-
第一步:在本地电脑上生成密钥对
打开你电脑的终端(PowerShell、CMD 或 Git Bash),输入下面的命令:bash
ssh-keygen -t ed25519 -C "your_email@example.com"
-C后面可以填你的邮箱,仅作注释用。之后提示时连续按“回车键”,使用默认文件位置,且不设置密码短语(passphrase),就能实现完全无感登录。
第二步:将公钥“上传”到远程服务器
最方便的方法是使用 ssh-copy-id 命令。在本地终端执行:
bash linux
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@your_server_ip
windows: 需要powershell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
把 username 和 your_server_ip 换成你的服务器用户名和地址。执行后,按提示输入一次远程服务器的登录密码,之后就不会再问了。
第三步:配置VS Code的SSH连接(关键一步)
现在要让VS Code知道连接时应使用哪个私钥。
ctrl+shift+p 输入:Remote-SSH: Open SSH Configuration File...
text
Host my-remote-server
HostName your_server_ip
User your_username
IdentityFile ~/.ssh/id_ed25519
保存文件。现在,重新打开VS Code连接服务器,应该就可以直接进入了。
-
按下
F1键,输入Remote-SSH: Open SSH Configuration File...并选择。 -
在打开的配置文件中,找到你的服务器对应的
Host块。如果没有,可以手动添加。关键是增加IdentityFile这一行,指向你刚生成的私钥:
假设你现在要添加第二台服务器 172.31.170.205,用户名还是 root。
1. 先把公钥“分发”到新服务器
在 PowerShell 里执行跟之前几乎一样的命令,只是把 IP 换成新的:
powershell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@172.31.170.205 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
输入一次这台新服务器的密码后,以后这台机器也就信任你的同一个公钥了。可以只用一对密钥管理所有服务器,不需要为每台机器单独生成新密钥。
2. 在 VS Code 的 SSH 配置中添加新主机
按 F1,输入 Remote-SSH: Open SSH Configuration File...,在配置文件里新增一个 Host 块:
text
Host my-server-2
HostName 172.31.170.205
User root
IdentityFile ~/.ssh/id_ed25519
-
这里的
Host名称可以随意取(方便自己辨认就行),关键是指定正确的HostName、User和IdentityFile。 -
之后在 VS Code 连接远程时,选择
my-server-2就能免密登录了。
5万+

被折叠的 条评论
为什么被折叠?



