创建密钥
创建密钥
在Windows(本地)使用Powershell或者CMD打开,输入以下命令生成密钥
ssh-keygen -t rsa -b 4096
参数说明:
-t rsa
: 指定加密算法为 RSA,这是一种常用且安全的算法。-b 4096
: 指定密钥长度为 4096 位,强度较高。
设置密钥存储位置和密码
执行命令后,系统会提示:
Enter file in which to save the key (C:\Users\YourUsername/.ssh/id_rsa):
这里是询问密钥的保存位置。通常直接按回车键,使用默认路径即可。默认路径位于您用户目录下的
.ssh
文件夹中。
接着,系统会提示您输入密码 (passphrase):Enter passphrase (empty for no passphrase):
如果希望实现完全免密登录,这里直接按两次回车键即可,不要输入任何密码。为私钥设置密码可以增加一层额外的安全保障,但每次使用该密钥时都需要输入这个密码。
确认密钥生成
此时,在您的用户目录
C:\Users\YourUsername\.ssh\
下会生成两个文件:id_rsa
: 私钥 (非常重要,请妥善保管,绝不能泄露)id_rsa.pub
: 公钥 (这个是需要上传到服务器的文件)
上传公钥到Linux服务器
获取公钥内容
本地使用powershell或者CMD获取公钥内容并复制
type %USERPROFILE%\.ssh\id_rsa.pub
执行后会显示一长串以 ssh-rsa
开头的字符。完整地复制这一整行内容。
登录到Linux服务器并写入公钥
登录成功后执行以下命令
# 创建 .ssh 目录(如果不存在的话)
mkdir -p ~/.ssh
# 将你复制的公钥内容追加到 authorized_keys 文件中
echo "在此处粘贴你复制的公钥内容" >> ~/.ssh/authorized_keys
# 设置正确的文件和目录权限(非常重要!)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
在vscode中配置和连接
安装Remote-SSH插件
安装后,在左侧寻找远程资源管理器
图标,接着找到SSH右侧的齿轮图标,打开后选择第一个选项C:\Users\YourUsername\.ssh\config
,即用户目录下的config文件,接着按以下格式将你的服务器信息填入配置文件。
Host my-server # 这是一个你自定义的连接别名,方便记忆
HostName your_server_ip # 替换为服务器的 IP 地址或域名
User your_username # 替换为你的服务器用户名
IdentityFile C:/Users/YourUsername/.ssh/id_rsa # 指定私钥文件的路径(本地路径,不是服务器)
保存后在SSH下方的列表中即可找到你的服务器。
第一次连接时可能会提醒确认服务器指纹,选择确认即可。
附:删除服务器指纹方法
本地powershell打开后输入以下命令:
ssh-keygen -R "服务器IP"