首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2FA与VS Code Remote-SSH?

2FA与VS Code Remote-SSH?
EN

Stack Overflow用户
提问于 2021-09-22 02:55:45
回答 3查看 547关注 0票数 2

我正在使用Visual Studio代码中的Remote-SSH扩展来连接到远程计算机。这台远程机器受Duo的双因素身份验证保护。当我在终端中SSH (在VS代码之外)时,我能够完美地登录-终端提示我通过2FA过程。但是,在VS代码中,当我使用扩展时,我无法登录。在输入我的SSH主机名和ID之后,VS Code界面会一次又一次地提示我输入密码,并且不会超过这一步。

以前有没有人遇到过这个问题?我很想知道是否有现有的解决方案。不幸的是,2FA是由我的公司管理的,我不能关闭它。

EN

回答 3

Stack Overflow用户

发布于 2021-11-15 10:11:21

我遇到了同样的问题,并通过使用单点登录的SSH ControlMaster解决了它。

如果您使用<user_name>@<host_name>连接到相关计算机,则只需在~/.ssh/config中添加以下内容

代码语言:javascript
复制
Host <nickname>
    User <user_name>
    HostName <host_name>
    ControlMaster auto
    ControlPath ~/.ssh/%r@%h:%p

如果您现在在运行ssh <nickname>的终端中打开一个新会话,系统将要求您提供密码和2FA密钥。但是所有其他后续的ssh会话(包括运行在ssh上的svn、rsync等)都将利用初始连接,而无需重新验证。

你现在可以在VS代码中,从命令面板(F1,Remote-SSH: Connect to Host... P)中选择Remote-SSH: Connect to Host...,然后简单地输入:<nickname>⇧⌘ControlMaster将使用已经建立的连接自动连接你。

在我的例子中,我选择的昵称是"ody“。连接VSC后,Remote Development扩展在左下角显示以下内容,让我浏览远程机器上的文件。

FASCR

请注意,所有后续连接都依赖于初始连接-如果您退出或终止初始连接,则所有其他连接也将终止。如果这是偶然发生的,这显然会很烦人。通过在后台设置主连接可以轻松避免这种情况:

ssh -CX -o ServerAliveInterval=30 -fN <nickname>

-fN使其在身份验证后进入后台并处于空闲状态。(C表示压缩,Y表示X转发,o ServerAliveInterval=30表示防止连接丢失,这些与ControlMaster无关,但几乎总是有帮助的。)

请注意,所有端口转发,包括X显示转发,都必须由初始连接设置,并且不能更改。

票数 1
EN

Stack Overflow用户

发布于 2021-10-25 14:12:00

您可以使用~/.ssh/config文件来配置主机名和密钥。但我不知道是否有一种方法可以方便地保存密码。

票数 0
EN

Stack Overflow用户

发布于 2022-02-19 16:20:41

转到VS代码中的设置并启用此设置,remote.SSH.showLoginTerminal.这将启动终端,以便以这种方式通过2FA登录。

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

https://stackoverflow.com/questions/69277631

复制
相关文章

相似问题

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