Emacs 可以通过 2FA 令牌登录吗?

问题描述 投票:0回答:2

我想登录使用 2FA 令牌身份验证的系统。不幸的是,Emacs 似乎并没有提示输入 2FA 令牌,而是挂在那里,直到达到超时调用为止。 ssh机制非常简单;公共 IP、用户名和密钥。连接后,提示也是非常标准的“输入您的 2FA 令牌:”

我需要在 Emacs 中执行/配置什么才能获得 2FA 提示并引入令牌吗?

emacs tramp
2个回答
3
投票

你似乎在使用Tramp。从 Tramp 2.5(集成在 Emacs 28 中)开始,它支持用户选项

tramp-security-key-confirm-regexp
。请相应配置。

如果仍然不起作用,请将

tramp-verbose
设置为 6,并联系邮件列表
[email protected]


0
投票

如果您谈论的是在通过 Tramp 打开远程文件时使用安全密钥(例如 FIDO2 密钥)进行身份验证,...它对我有用。我使用在 Windows 10 上运行的 Emacs 28.2。

大致步骤:

  1. 使用现有的授权密钥打开到远程主机的 ssh 会话。 您可以在 emacs 中使用 Tramp url 来执行此操作。我用过

    /sshx:remotehost:/home
    .

  2. 将 Windows 升级到 OpenSSH v9.2.2.0 或某些支持安全密钥的版本。

    c:\windows\system32\openssh
    中提供的内置OpenSSH是版本8.1p1,这还不够,它不支持安全密钥。当您真正“升级”时,您正在安装新版本的 OpenSSH。它将出现在
    c:\progra~1\OpenSSH
    中。从现在开始,您需要注意使用正确版本的 OpenSSH。

  3. 在 powershell 终端中,通过

    创建密钥对
    c:\progra~1\OpenSSH\ssh-keygen -t ecdsa-sk -f ~/.ssh/sk-1
    
  4. 修改远程主机上的

    ~/.ssh/authorized_keys
    ,仅接受 您刚刚生成的公钥。您可以通过之前打开的 流浪汉会议。

  5. 修改 emacs 中的

    tramp-methods
    以使用新的
    ssh.exe
    ,如下所示:

    (setf
     (car (alist-get "sshx" tramp-methods nil nil #'equal))
     '(tramp-login-program "C:/Progra~1/OpenSSH/ssh.exe"))
    
  6. 结束流浪者会议。重新打开相同的tramp filespec。查看安全密钥的挑战。触摸按键。 看到它起作用了。高兴吧。

© www.soinside.com 2019 - 2024. All rights reserved.