在使用 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>
或者手动复制公钥内容:
-
打开公钥文件:
bash
cat ~/.ssh/id_rsa.pub
-
将输出的公钥内容复制。
-
登录到远程服务器:
bash
ssh <用户名>@<远程服务器IP>
-
将公钥内容追加到
~/.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
文件可以简化连接命令并存储用户名。