may*_*513 5 ssh visual-studio-code
我正在使用 vscode 连接到远程主机。我使用 Remote-SSH (ms-vscode-remote.remote-ssh) 扩展来执行此操作。每次想连接远程主机时,都需要输入密码。
有没有办法将ssh密码保存到vscode?
bli*_*web 128
要在 Visual Studio Code 上设置 ssh 的无密码身份验证,请执行以下步骤。
这些示例假设如下(替换为您的实际详细信息)
Host: myhost
Local User: localuser
Remote User: remoteuser
Remote User Home Dir: remoteuserhome
SSH Port: 22
Run Code Online (Sandbox Code Playgroud)
我使用的是 Mac,因此 Windows 会略有不同,但基本原理是相同的
告诉 VS Code 和您的机器您将如何连接到 myhost
编辑:
/Users/<localuser>/.ssh/config
Run Code Online (Sandbox Code Playgroud)
添加:
Host <myhost>
HostName <myhost>
User <remoteuser>
Port 22
PreferredAuthentications publickey
IdentityFile "/Users/<localuser>/.ssh/keys/<myhost>_rsa"
Run Code Online (Sandbox Code Playgroud)
接下来使用 OpenSSL 之类的工具生成公钥和私钥
ssh-keygen -q -b 2048 -P "" -f /Users/<localuser>/.ssh/keys/<myhost>_rsa -t rsa
Run Code Online (Sandbox Code Playgroud)
这应该生成两个文件:
<myhost>_rsa (private key)
<myhost>_rsa.pub (public key)
Run Code Online (Sandbox Code Playgroud)
私钥 (<myhost>_rsa) 可以保留在本地 .ssh 文件夹中
需要将公钥(<myhost>_rsa.pub)复制到服务器(<myhost>)
我使用 FTP 完成此操作,但您可以随心所欲地执行此操作,但它需要最终位于服务器上的类似目录中。
在服务器上
服务器上有一个文件,其中包含公钥列表。
<remoteuserhome>/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
如果已经存在,则需要将 <myhost>_rsa.pub 的内容添加到文件末尾。
如果不存在,您可以使用 <myhost>_rsa.pub 并将其重命名为authorized_keys,权限为600。
如果一切按计划进行,您现在应该可以进入终端并输入
ssh <remoteuser>@<myhost>
Run Code Online (Sandbox Code Playgroud)
并且您应该无需密码即可进入。现在,这同样适用于 Visual Studio Code。
Von*_*onC 42
我们先回答一下OP的问题:
如何“保存 ssh 密码”?
由于不存在“ssh密码”这个东西,所以“如何保存远程用户密码”的答案是:
VSCode 不支持此功能。
VSCode 建议设置一个 SSH 代理来缓存密码(如果您使用加密密钥)
但如果公钥未正确注册到远程帐户~/.ssh/authorized_key,SSH 守护程序将默认使用远程用户凭据(用户名/密码)。
它通常称为PasswordAuthentication远程用户密码。
SSH 会话不支持缓存该密码。
当使用HTTPS URL时,它仅受 Git 凭证帮助程序支持。
(它遵循操作系统底层凭证管理器)
但我不知道SSH时远程用户密码缓存使用
正如Chagai Friedlander 评论的那样,原始问题的答案是:
不,但您可以使用 SSH 密钥,这样更好。
说到 SSH 密钥:
“ssh 密码”:假设您指的是 ssh密码,这意味着您已经创建了加密的私钥,那么“保存 ssh 密码”意味着缓存该密码,以避免每次要访问远程主机时都输入它。
首先检查您是否可以设置ssh-agent, 以便缓存保护您的私钥的密码。
请参阅“ VSCode:设置 SSH 代理”
这假设您正在使用 SSH 密钥,如“ VSCode:连接到远程主机”中所述,并且您没有直接使用远程用户密码。
使用 SSH 密钥意味着其公钥将已注册到远程帐户~/.ssh/authorized_keys文件中。
本节是OP最终接受的解决方法:在远程用户帐户上注册公钥,并缓存本地私钥密码。
小智 28
对于那些尝试通过https://code.visualstudio.com/docs/remote/troubleshooting#_ssh-tips中提供的 Vscode 远程 SSH 扩展步骤进行连接的人)
对于 Windows(主机)--> Linux(远程)
ssh-keygen -t rsa -b 4096echo "pub-key" >> ~/.ssh/authorized_keys| 归档时间: |
|
| 查看次数: |
9003 次 |
| 最近记录: |