使用vscode+ssh免密远程Linux
- 使用 SSH 密钥对:
- 使用 SSH Agent:
- ssh-agent的使用场景
使用 SSH 密钥对:
-
确保你的本地机器上已经生成了 SSH 密钥对。如果没有,请使用以下命令生成密钥对:
ssh-keygen -t rsa
这将在 ~/.ssh 目录下生成公钥文件 id_rsa.pub 和私钥文件 id_rsa。
-
将公钥复制到远程 Linux 主机上。可以使用以下命令将公钥复制到远程主机(假设远程主机的 IP 地址为 192.168.1.89):
ssh-copy-id user@192.168.1.89
这将将公钥添加到远程主机的 ~/.ssh/authorized_keys 文件中,并允许你使用私钥进行无密码登录。
如果 ssh-copy-id 命令不可用,你可以手动将公钥内容复制到远程主机的 ~/.ssh/authorized_keys 文件中。
-
在 VS Code 中安装 “Remote - SSH” 扩展。在扩展市场中搜索 “Remote - SSH” 并进行安装。
-
在 VS Code 中打开命令面板(win快捷键:Ctrl+Shift+P, macOS快捷键:command+shift+p)并搜索 “Remote-SSH: Connect to Host”。选择该选项后,会出现一个输入框。
-
在输入框中输入 SSH 连接的完整命令,例如:
ssh user@192.168.1.89
这将连接到远程主机,并将其添加到 VS Code 的 SSH 配置中。
-
选择配置文件类型,例如 “Linux”。
-
等待连接完成。一旦连接成功,VS Code 将在远程主机上打开一个新的窗口,你可以在其中编辑远程主机上的文件。
现在,你可以通过 VS Code 进行免密的远程连接到 Linux 主机了。每次打开 VS Code 并选择相应的连接配置,它都会自动使用 SSH 密钥进行身份验证,而无需手动输入密码。
使用 SSH Agent:
SSH Agent 是一个身份验证代理,它可以在你的登录会话期间管理私钥。你可以将私钥添加到 SSH Agent 中,并在需要时自动使用它进行身份验证。
-
运行ssh-agent
ssh-agent
-
添加私钥到 SSH Agent:
# 添加指定私钥 ssh-add /path/to/private_key # 自动添加已有私钥 ssh-add
现在,SSH Agent 将在你的登录会话期间管理私钥,当你通过 SSH 连接到服务器时,它将自动使用私钥进行身份验证。
ssh-agent的使用场景
-
使用不同的密钥连接到不同的主机时,需要手动指定对应的密钥。ssh-agent 可以帮助我们选择对应的密钥进行认证,不用手动指定密钥即可进行连接。
-
当私钥设置了密码,我们又需要频繁的使用私钥进行认证时,ssh-agent 可以帮助我们免去重复的输入密码的操作。