vscode远程服务器免登录配置

  1. 本地vscode安装Remote - SSH插件
    打开VS Code,按下Ctrl+Shift+X​打开插件市场,搜索“Remote - SSH”,点击安装该插件。安装完成后,左侧边栏会出现“远程资源管理”对应图标。

  2. 本地生成SSH密钥对
    这一步要在本地电脑的终端操作(Windows用CMD/PowerShell,macOS/Linux直接打开终端):

    1. 输入命令生成密钥对,推荐用更安全的ed25519算法:

      ssh-keygen -t ed25519 -C "备注信息(如vscode免密登录)"
      

      若服务器较老不支持该算法,可改用rsa算法:

      ssh-keygen -t rsa -b 4096 -C "备注信息"
      
    2. 后续会提示设置密钥存储路径,直接回车用默认路径即可;还会提示设置密钥密码(可选,设了能进一步保护私钥,不想设就连续回车跳过)。image

    3. 生成成功后,密钥默认存储路径:Windows是C:\Users\你的用户名\.ssh\​,macOS/Linux是~/.ssh/​,里面包含私钥(如id_ed25519​)和公钥(如id_ed25519.pub​)。image

  3. 将本地公钥上传到远程Linux服务器
    目的是让服务器识别本地的密钥,后续通过密钥认证身份,有两种常用上传方式:

    1. 自动上传(推荐) :本地终端输入命令,替换服务器用户名​和服务器IP​为实际信息:

      ssh-copy-id -i ~/.ssh/id_ed25519.pub 服务器用户名@服务器IP
      

      比如服务器用户是ubuntu​,IP是192.168.1.100​,命令就是ssh-copy-id -i ~/.ssh/id_ed25519.pub ubuntu@192.168.1.100​。首次执行需输入服务器登录密码,提示Number of key(s) added: 1​就说明上传成功。若Windows的PowerShell不支持ssh-copy-id​,可执行以下命令(替换对应路径、用户名和IP):

      type C:\Users\你的用户名\.ssh\id_ed25519.pub | ssh 服务器用户名@服务器IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
      
    2. 手动上传(适用于自动上传失败场景) :先在本地**查看公钥(**​id_ed25519.pub)内容并复制,;再用密码登录远程服务器ssh 服务器用户名@服务器IP​;接着执行命令创建.ssh​目录并设置权限,最后将复制的公钥内容写入授权文件:

      mkdir -p ~/.ssh
      chmod 700 ~/.ssh
      echo "复制的本地公钥内容" >> ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys
      

      完成后输入exit​退出服务器。

  4. 配置VS Code的SSH连接

    1. 点击VS Code左侧“远程资源管理器”,在“SSH TARGETS”处点击“+”号。

    2. 弹出输入框,输入ssh 服务器用户名@服务器IP​,回车后选择SSH配置文件的保存路径(默认路径即可)。

    3. 此时会生成config​配置文件,可按需补充内容(如端口非默认22时),格式如下:

      Host 服务器别名(自定义,如linux-server)
        HostName 服务器IP
        User 服务器用户名
        Port 22(若修改过SSH端口,填实际端口)
        IdentityFile 本地私钥路径(如C:\Users\你的用户名\.ssh\id_ed25519)
      
  5. 验证免登录连接
    保存配置文件后,刷新“SSH TARGETS”,会看到自定义的服务器别名。右键点击该别名,选择“在新窗口中连接”,首次连接可能提示信任服务器,输入yes​后,无需输入密码就能成功连接远程服务器,后续打开VS Code连接时也无需再输密码。

  ‍

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐