在使用 Visual Studio Code (VSC) 通过 SSH 连接到远程服务器时,每次都需要输入密码,可以通过以下方法设置 SSH 密钥登录,以避免重复输入密码。
一、生成本机密钥对
首先,需要生成一个 SSH 密钥对(如果还没有的话)。在命令行(如 PowerShell 或 CMD)中输入以下命令:
ssh-keygen -t rsa -b 4096
这会在 ~/.ssh
目录下生成一个公钥 (id_rsa.pub)
和一个私钥 (id_rsa)。可以按提示操作,默认情况下直接按回车即可使用默认路径和设置。
二、将公钥添加到远程服务器
接下来,将生成的公钥添加到远程服务器的 ~/.ssh/authorized_keys
文件中。你可以通过以下命令完成此操作:
ssh-copy-id -p port_number username@remote_host
如果 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
ssh-copy-id命令一般windows上没有。我安装过git bash。所以可以在git bash中使用ssh-copy-id命令来复制
上面公钥可以上传到多个远程服务器进行使用。
三、配置SSH配置文件
为了简化使用,建议配置 SSH 客户端的配置文件 (~/.ssh/config)。例如:
Host myserver
HostName 172.30.80.169
User hyl
IdentityFile ~/.ssh/id_rsa
这样就可以通过 ssh myserver 来连接,而不是每次都输入完整的用户名和 IP 地址。
四、在 VSC 中使用 SSH 配置
打开 VSC 的 Remote SSH 扩展,连接时选择你在 ~/.ssh/config 文件中定义的 Host(比如 myserver),这样 VSC 就会自动使用配置的密钥进行连接,而不再需要每次输入密码。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END