使用vscode+ssh免密远程Linux

使用vscode+ssh免密远程Linux

    • 使用 SSH 密钥对:
    • 使用 SSH Agent:
      • ssh-agent的使用场景

使用 SSH 密钥对:

  1. 确保你的本地机器上已经生成了 SSH 密钥对。如果没有,请使用以下命令生成密钥对:

    ssh-keygen -t rsa
    

    这将在 ~/.ssh 目录下生成公钥文件 id_rsa.pub 和私钥文件 id_rsa。

  2. 将公钥复制到远程 Linux 主机上。可以使用以下命令将公钥复制到远程主机(假设远程主机的 IP 地址为 192.168.1.89):

    ssh-copy-id [email protected]
    

    这将将公钥添加到远程主机的 ~/.ssh/authorized_keys 文件中,并允许你使用私钥进行无密码登录。

    如果 ssh-copy-id 命令不可用,你可以手动将公钥内容复制到远程主机的 ~/.ssh/authorized_keys 文件中。

  3. 在 VS Code 中安装 “Remote - SSH” 扩展。在扩展市场中搜索 “Remote - SSH” 并进行安装。

  4. 在 VS Code 中打开命令面板(win快捷键:Ctrl+Shift+P, macOS快捷键:command+shift+p)并搜索 “Remote-SSH: Connect to Host”。选择该选项后,会出现一个输入框。

  5. 在输入框中输入 SSH 连接的完整命令,例如:

    ssh [email protected]
    

    这将连接到远程主机,并将其添加到 VS Code 的 SSH 配置中。

  6. 选择配置文件类型,例如 “Linux”。

  7. 等待连接完成。一旦连接成功,VS Code 将在远程主机上打开一个新的窗口,你可以在其中编辑远程主机上的文件。

现在,你可以通过 VS Code 进行免密的远程连接到 Linux 主机了。每次打开 VS Code 并选择相应的连接配置,它都会自动使用 SSH 密钥进行身份验证,而无需手动输入密码。

使用 SSH Agent:

SSH Agent 是一个身份验证代理,它可以在你的登录会话期间管理私钥。你可以将私钥添加到 SSH Agent 中,并在需要时自动使用它进行身份验证。

  1. 运行ssh-agent

    ssh-agent
    
  2. 添加私钥到 SSH Agent:

    # 添加指定私钥
    ssh-add /path/to/private_key
    # 自动添加已有私钥
    ssh-add
    

现在,SSH Agent 将在你的登录会话期间管理私钥,当你通过 SSH 连接到服务器时,它将自动使用私钥进行身份验证。

ssh-agent的使用场景

  1. 使用不同的密钥连接到不同的主机时,需要手动指定对应的密钥。ssh-agent 可以帮助我们选择对应的密钥进行认证,不用手动指定密钥即可进行连接。

  2. 当私钥设置了密码,我们又需要频繁的使用私钥进行认证时,ssh-agent 可以帮助我们免去重复的输入密码的操作。

你可能感兴趣的:(linux,vscode,ssh,linux)