对于连接次数多的服务器,每次连接服务器都要输入密码确实很影响效率,最安全且一劳永逸的方法就是配置SSH密钥登录(也就是免密登录)。
1. 在本地电脑上生成SSH密钥
如果你之前没有生成过密钥,需要先在本地电脑(不是服务器上)生成一对。
- 打开你本地电脑的终端(Windows 用户可以打开 PowerShell 或 CMD,Mac/Linux 用户打开 Terminal)。
- 输入以下命令并回车:
ssh-keygen -t rsa -b 4096 - 接下来系统会提示你选择保存路径和设置密码:
- 保存路径:直接按 回车 使用默认路径即可(通常在
~/.ssh/id_rsa)。 - 设置密码 (passphrase):为了实现完全免密,这里不要输入任何内容,连续按两次 回车 即可。
- 保存路径:直接按 回车 使用默认路径即可(通常在
2. 将“公钥”发送到服务器
刚才的操作生成了两个文件:私钥(id_rsa,自己留着)和公钥(id_rsa.pub,要发给服务器)。根据你本地系统的不同,上传公钥的方法也不同:
如果你用的是 Mac 或 Linux(本地系统): 在终端直接输入以下命令(替换成你自己的用户名和服务器 IP),然后输入最后一次服务器密码即可:
ssh-copy-id 用户名@服务器IP
如果你用的是 Windows(本地系统): Windows 没有自带 ssh-copy-id 命令,最简单的方法是手动复制:
- 在本地电脑用记事本打开
C:\Users\你的用户名\.ssh\id_rsa.pub文件,复制里面的所有内容(一长串以ssh-rsa开头的字符)。 - 在 VS Code 中,像往常一样输入密码连接到服务器。
- 在服务器的终端中,输入以下命令创建并编辑认证文件:
mkdir -p ~/.sshnano ~/.ssh/authorized_keys - 将刚才复制的公钥内容粘贴到这个文件中。
- 按
Ctrl + O保存,回车确认,然后按Ctrl + X退出编辑。 - (重要)为了安全起见,在服务器终端执行以下命令修改权限:
chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
3. 配置 VS Code 的 SSH 配置文件 (推荐)
为了让 VS Code 连接更丝滑,可以在本地配置一下 SSH Config 文件。
- 在 VS Code 中,点击左下角的绿色远程连接图标。
- 选择 "Open SSH Configuration File" (打开 SSH 配置文件)。
- 选择你本地用户的那个 config 文件(通常在
C:\Users\用户名\.ssh\config或~/.ssh/config)。 - 像这样配置你的服务器信息:
Host MyServer # 你给服务器起的别名,随便写
HostName 服务器IP地址 # 比如 192.168.1.100
User 你的用户名 # 比如 root 或 ubuntu
IdentityFile ~/.ssh/id_rsa # 这里指向你刚才生成的本地私钥路径
保存文件后,下次在 VS Code 里直接点击 MyServer 就可以秒连了,再也不用输入密码。
Comments NOTHING