创建密钥

创建密钥

在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"