vscode remote ssh 记住账号密码

在使用 VS Code 的 Remote - SSH 扩展时,每次连接远程服务器都需要手动输入账号和密码可能会比较麻烦。为了记住账号和密码,可以使用以下几种方法:


方法 1:使用 SSH 密钥认证

SSH 密钥认证是最安全且方便的方式,可以避免每次输入密码。

1. 生成 SSH 密钥对

在本地机器上生成 SSH 密钥对(如果尚未生成):

bash

ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • 按提示操作,可以选择默认路径保存密钥(~/.ssh/id_rsa~/.ssh/id_rsa.pub)。

2. 将公钥添加到远程服务器

将生成的公钥(~/.ssh/id_rsa.pub)内容添加到远程服务器的 ~/.ssh/authorized_keys 文件中:

bash

ssh-copy-id <用户名>@<远程服务器IP>

或者手动复制公钥内容:

  1. 打开公钥文件:

    bash

    cat ~/.ssh/id_rsa.pub
  2. 将输出的公钥内容复制。

  3. 登录到远程服务器:

    bash

    ssh <用户名>@<远程服务器IP>
  4. 将公钥内容追加到 ~/.ssh/authorized_keys 文件:

    bash

    echo "公钥内容" >> ~/.ssh/authorized_keys
3. 测试连接

重新连接远程服务器,应该无需输入密码即可登录:

bash

ssh <用户名>@<远程服务器IP>

方法 2:使用 SSH 配置文件

通过 ~/.ssh/config 文件,可以简化连接命令并存储用户名(但不建议存储密码)。

1. 创建或编辑 SSH 配置文件

在本地机器的 ~/.ssh 目录下创建或编辑 config 文件:

bash

nano ~/.ssh/config
2. 添加远程服务器配置

config 文件中添加以下内容:

plaintext

Host <主机别名>
    HostName <远程服务器IP>
    User <用户名>
    IdentityFile ~/.ssh/id_rsa  # 如果使用了密钥认证

例如:

plaintext

Host myserver
    HostName 192.168.1.100
    User zenglg
    IdentityFile ~/.ssh/id_rsa
3. 使用主机别名连接

在 VS Code 中连接远程服务器时,直接使用主机别名即可:

plaintext

ssh myserver

方法 3:使用 SSH 代理

SSH 代理(ssh-agent)可以管理你的 SSH 密钥,避免每次连接时都需要输入密钥的密码。

1. 启动 SSH 代理

在终端中运行以下命令启动 SSH 代理:

bash

eval "$(ssh-agent -s)"
2. 添加密钥到代理

将你的 SSH 密钥添加到代理中:

bash

ssh-add ~/.ssh/id_rsa
3. 配置 SSH 使用代理

确保 ~/.ssh/config 文件中启用了代理:

plaintext

Host *
    UseKeychain yes  # macOS
    AddKeysToAgent yes

方法 4:使用 VS Code 的凭据存储(不推荐)

VS Code 的 Remote - SSH 扩展支持使用凭据存储来记住密码,但这种方法不够安全,建议优先使用 SSH 密钥认证。

1. 启用凭据存储

在 VS Code 的设置中搜索 Remote.SSH.enableCredentialStore,确保其值为 true

2. 重新连接

重新连接远程服务器时,VS Code 会提示你输入密码,并询问是否保存密码。


总结

  • 推荐使用 SSH 密钥认证:这是最安全且方便的方法。

  • 如果你必须使用密码,可以启用 VS Code 的凭据存储,但请注意安全风险。

  • 使用 ~/.ssh/config 文件可以简化连接命令并存储用户名。