首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将ssh密码保存到vscode?

如何将ssh密码保存到vscode?
EN

Stack Overflow用户
提问于 2021-02-09 13:57:17
回答 2查看 18.8K关注 0票数 15

我正在使用vscode连接到远程主机。为此,我使用Remote-SSH (ms-vscode-remote.remote-ssh)扩展。每次我想连接到远程主机时,我都需要输入密码。

有没有办法将ssh密码保存到vscode?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-09 16:18:37

让我们先回答操作员的问题:

如何‘保存ssh密码’?

因为没有"ssh password“这样的东西,所以”如何保存远程用户密码“的答案是:

这是VSCode不支持的。

VSCode建议setup an SSH Agent缓存密码短语(以防您使用加密密钥)

但是,如果公钥未正确注册到远程帐户~/.ssh/authorized_key,则SSH守护程序将默认使用远程用户凭据(用户名/密码)。

它被称为PasswordAuthentication,通常是远程用户密码。

并且SSH会话不支持缓存该密码。

只有在使用HTTPS URL时,它才受Git凭据帮助器支持。

(它遵循操作系统底层凭据管理器)

但是当使用SSH时,我不知道远程用户密码缓存。

因此,作为Chagai Friedlander comments,对原始问题的答案是:

不能,但是你可以使用SSH密钥,这样会更好。

说到SSH密钥:

"ssh password":假设您指的是ssh密码,这意味着您已经创建了一个加密的私钥,那么“保存ssh密码”将意味着缓存该密码,以避免每次您想要访问远程主机时都输入它。

首先检查是否可以设置ssh-agent,以便缓存保护您的私钥的口令。

参见"VSCode: Setting up the SSH Agent

这里假设您使用的是SSH,如"VSCode: Connect to a remote host“中所述,而不是直接使用远程用户密码。

使用SSH密钥意味着其公钥已注册到远程帐户~/.ssh/authorized_keys文件。

本节是OP最终接受的变通方法:在远程用户帐户上注册公钥,并缓存本地私钥密码。

票数 0
EN

Stack Overflow用户

发布于 2021-11-15 06:22:33

要在Visual Studio Code上为ssh设置无密码身份验证,请执行以下步骤。

这些示例假设如下(替换为您的实际详细信息)

代码语言:javascript
运行
复制
Host: myhost
Local User: localuser 
Remote User: remoteuser
Remote User Home Dir: remoteuserhome
SSH Port:  22

我使用的是Mac,所以Windows会有点不同,但基本原理是一样的

告诉VS Code和你的机器你将如何连接到myhost

编辑:

代码语言:javascript
运行
复制
/Users/<localuser>/.ssh/config

添加:

代码语言:javascript
运行
复制
Host <myhost>
  HostName <myhost>
  User <remoteuser>
  Port 22
  PreferredAuthentications publickey
  IdentityFile "/Users/<localuser>/.ssh/<myhost>_rsa"

接下来,使用类似OpenSSL的内容生成公钥和私钥

代码语言:javascript
运行
复制
ssh-keygen -q -b 2048 -P "" -f /Users/<localuser>/.ssh/keys/<host>_rsa -t rsa

这应该会生成两个文件:

代码语言:javascript
运行
复制
<host>_rsa        (private key)
<host>_rsa.pub    (public key)

私钥(_rsa)可以保留在本地.ssh文件夹中

需要将公钥(_rsa.pub)复制到服务器()

我是用FTP做的,但你可以随心所欲地做,但它需要在服务器上的一个类似目录中结束。

在服务器上

服务器上有一个文件,其中包含一个公钥列表。

代码语言:javascript
运行
复制
 <remoteuserhome>/.ssh/authorized_keys

如果已经存在,则需要将_rsa.pub的内容添加到文件的末尾。

如果它不存在,您可以使用_rsa.pub并将其重命名为authorized_keys,权限为600。

如果一切按计划进行,您现在应该能够进入终端并输入

代码语言:javascript
运行
复制
ssh <remoteuser>@<host>

你应该在没有密码的情况下进去。现在,同样的情况也将适用于Visual Studio代码。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66113731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档