问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SSH公私钥免密连接远程服务器

创作时间:
作者:
@小白创作中心

SSH公私钥免密连接远程服务器

引用
CSDN
1.
https://m.blog.csdn.net/m0_57141074/article/details/144818495

SSH公私钥免密连接远程服务器是一种安全且便捷的远程登录方式。通过在本地主机生成SSH公私钥对,并将公钥部署到远程服务器,可以实现无需输入密码即可登录远程服务器的功能。本文将详细介绍如何在Windows系统中配置SSH公私钥免密连接,包括使用命令行和VSCode两种方式。

本机准备

  1. 打开命令行(Win+R 输入 cmd
  2. 使用 ssh-keygen 命令生成SSH公私钥对
    ssh-keygen
    
  3. 按提示操作,如果不想改变公私钥的存储位置和文件名,则可以一直回车
    Enter file in which to save the key (/home/your_user/.ssh/id_rsa):
    
    括号里面的 /home/your_user/.ssh/id_rsa 为你的公私钥存储位置,一般为 C:/user/your_name/.ssh 文件夹中;如需更改在以上显示的 后面,使用绝对路径输入你想保存的位置(建议放在默认位置
  4. 回车结束后,可以看到你保存的文件夹中有这两个文件

    上面的 id_rsa 为私钥,放在本地就行;id_rsa.pub 为公钥是要放到远程服务器上

远程机器准备

由于作者没有远程服务器的管理员权限,没办法直接在xshell中看到.ssh文件夹的位置,如果你可以在远程服务器的文件管理中看的.ssh文件夹,可以直接将 id_rsa.pub 传到.ssh文件夹中,并更改文件名为 authorized_keys

此处使用命令行传输公钥的方法

  1. 首先打开远程服务器的命令行,创建 ~/.ssh 目录:
    mkdir -p ~/.ssh
    
  2. 打开本地的 id_rsa.pub 文件(使用记事本打开),复制文件的内容,将复制的公钥添加到 ~/.ssh/authorized_keys 文件中:(引号内为公钥id_rsa.pub中的内容)
    echo "your_copied_public_key" >> ~/.ssh/authorized_keys
    
  3. 为了确保 .ssh 目录和 authorized_keys 文件具有正确的权限:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    

如果只是用命令行连接远程服务器,以上步骤就已经能够实现免密连接了

VSCode免密连接远程服务器

config文件的位置和公私钥的位置相同,也在 C:\user\your_name.ssh 位置下,使用记事本打开

找到你要配置免密连接的服务器修改为以下格式:

Host “你给服务器起的名字”
    HostName “服务器的ip”
    User “用户名”
    PreferredAuthentications publickey
    IdentityFile “本机私钥位置”

本机私钥位置一般为 C:/user/your_name/.ssh/id_rsa(以上内容修改之后不需要带引号)

这样修改之后,使用VSCode连接远程服务器应该也可以实现免密连接了

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号