Neovim scp不会提示输入密码

问题描述 投票:-2回答:1

在Vim中,这会提示我输入密码,允许我编辑远程文件:

:e scp://username@host//path

然而,使用与NeoVim相同的命令不会提示输入密码,因为底层命令:! scp user@host:path LOCAL-TEMPFILE在NeoVim中不能以交互方式工作:https://github.com/neovim/neovim/wiki/FAQ#-and-system-do-weird-things-with-interactive-processes

使用通过ssh进行密码验证的NeoVim编辑远程文件的最佳做法是什么?

vim scp neovim
1个回答
0
投票

我猜想Neovim没有安装/激活提供此功能的netrw插件。检查:Nread命令是否可用。比较Vim和Neovim的:scriptnames输出。阅读插件的文档:help pi_netrw,了解如何安装和启用它。

更新:事实证明,有一个Neovim issue:!开始交互式命令,这就是netrw正在做的事情;该插件不会捕获密码质询。它基本上执行:! scp user@host:path LOCAL-TEMPFILE

如果您可以避免此问题(对主机使用基于密钥的SSH身份验证),您可以继续使用neovw使用Neovim。如果这对您来说非常重要,可以使用更详细的解决方法。 (例如,我使用围绕ssh的包装器解析~/.ssh/config以获取自定义Password Hunter2条目(这些密码在组织中是众所周知的,仅用于测试VM,因此这里没有安全问题),然后使用sshpass自动登录。)

否则,您必须切换到经典Vim进行netrw操作,或使用其他方式访问这些远程文件(例如SSHFS)。

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