在使用 Visual Studio Code (VSC) 通过 SSH 连接到远程服务器时,每次都需要输入密码,可以通过以下方法设置 SSH 密钥登录,以避免重复输入密码。
1. 生成 SSH 密钥对
首先,需要生成一个 SSH 密钥对(如果还没有的话)。在命令行(如 PowerShell 或 CMD)中输入以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这会在 ~/.ssh
目录下生成一个公钥 (id_rsa.pub)
和一个私钥 (id_rsa)。可以按提示操作,默认情况下直接按回车即可使用默认路径和设置。
2. 将公钥添加到远程服务器
接下来,将生成的公钥添加到远程服务器的 ~/.ssh/authorized_keys
文件中。你可以通过以下命令完成此操作:
ssh-copy-id username@remote_host
将 username 替换为远程服务器的用户名,remote_host 替换为服务器的 IP 地址或域名。
如果 ssh-copy-id 命令不可用,可以手动将公钥 (~/.ssh/id_rsa.pub) 的内容复制到远程服务器的 ~/.ssh/authorized_keys 文件中。使用以下命令可以在远程服务器上创建或编辑 authorized_keys 文件:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/au
3. 配置 SSH 配置文件
为了简化使用,建议配置 SSH 客户端的配置文件 (~/.ssh/config)。例如:
Host myserver HostName 172.30.80.169 User hyl IdentityFile ~/.ssh/id_rsa
这样就可以通过 ssh myserver 来连接,而不是每次都输入完整的用户名和 IP 地址。
4. 在 VSC 中使用 SSH 配置
打开 VSC 的 Remote SSH 扩展,连接时选择你在 ~/.ssh/config 文件中定义的 Host(比如 myserver),这样 VSC 就会自动使用配置的密钥进行连接,而不再需要每次输入密码。