使用VSCode通过ssh生成密钥连接远程服务器
vscode安装Remote - SSH插件
添加ssh服务器
打开命令面板
选择添加新的SSH主机
在弹出的对话框输入>ssh 用户名@ip
按回车确定,选择要保存的配置文件
一般默认第一个
默认右下角会弹出框,打开配置文件
配置文件内是这样的
远程服务器生成密钥对
使用vscode或者其他ssh客户端连接服务器(这里使用vscode演示)
1. 点击蓝色小框,打开远程端口
2. 弹出窗口选择连接到主机
3. 选择刚才新建的主机地址
4. 输入远程服务器密码
5. 新建一个终端
6. 生成密钥对
- 这里的 -t rsa 指定密钥类型为 RSA,-b 4096 指定密钥长度为 4096 位,-C “your_email@example.com” 用于添加注释(通常是你的电子邮件)。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 命令会提示你输入保存密钥的文件路径。按 Enter 键使用默认路径(通常是 ~/.ssh/id_rsa)。
Enter file in which to save the key (/home/username/.ssh/id_rsa):
- 如果你想为私钥设置密码短语,可以输入密码并确认;如果不想设置密码短语,可以直接按 Enter 键跳过。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
- 在终端进入用户.ssh文件夹
cd ~/.ssh
- 查看是否有密钥存在
ls
- 输出如下文件则表示有密钥对存在
authorized_keys id_rsa id_rsa.pub
- 将公钥添加到authorized_keys文件
cat id_rsa.pub >> authorized_keys
- 下载私钥到自己电脑上
使用vscode进入远程服务器ssh文件夹下,一般默认是用户名下的.ssh文件夹。
鼠标右键下载私钥,到自己的电脑 c盘 用户名下的.ssh文件夹内
更新vscode ssh配置文件
回到配置文件,添加私钥的路径并保存
到这里就已经可以无需频繁输入密码来使用vscode对远程服务器操作了!
以上是在服务器生成密钥对,然后将私钥下载到自己电脑来进行配置的。
也可以在自己电脑上生成密钥对,然后将公钥发送到服务器。
运行 ssh-keygen 命令生成密钥对:
- 在终端中输入以下命令生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096 -C
“your_email@example.com” 这里的 -t rsa 指定密钥类型为 RSA,-b 4096 指定密钥长度为 4096> 位,-C “your_email@example.com” 用于添加注释(通常是你的电子邮件)。- 按照提示输入信息(命令会提示你输入保存密钥的文件路径。按 Enter 键使用默认路径(通常是 ~/.ssh/id_rsa):
Enter file in which to save the key(/home/username/.ssh/id_rsa):
- 如果你想为私钥设置密码短语,可以输入密码并确认;如果不想设置密码短语,可以直接按 Enter 键跳过。
Enter passphrase (empty for no passphrase):
Enter same passphrase again::
- 添加公钥到远程服务器:
生成密钥对后,将公钥(通常位于 ~/.ssh/id_rsa.pub)添加到远程服务器的 ~/.ssh/authorized_keys> 文件中。
你可以使用以下命令将公钥复制到远程服务器(假设你可以通过密码登录到服务器):
ssh-copy-id username@remote_host
这会将你的公钥添加到远程服务器的~/.ssh/authorized_keys 文件中。- 配置 VS Code 远程开发:
打开 VS Code 的设置,搜索 Remote.SSH: Config File,找到 SSH配置文件路径。
编辑 ~/.ssh/config 文件,添加以下内容(根据你的情况调整):
Host my-remote-server
HostName remote_host
User username
IdentityFile ~/.ssh/id_rsa
然后,你可以使用 VS Code 的 Remote-SSH 插件连接到远程服务器。点击左下角的 >< 图标,选择 Remote-SSH: Connect to Host…,并选择你在 ~/.ssh/config 文件中配置的主机(例如 my-remote-server)。
这样也能实现一样的效果~