Neovim scp不会提示输入密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Neovim scp不会提示输入密码相关的知识,希望对你有一定的参考价值。

在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编辑远程文件的最佳做法是什么?

答案

我猜想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)。

以上是关于Neovim scp不会提示输入密码的主要内容,如果未能解决你的问题,请参考以下文章

scp时需要输入目标主机密码的问题

使用密钥解决scp命令需要输入密码问题

从远程主机到本地主机的 scp [关闭]

scp采用无密码在两台linux服务器之间传输数据

scp(安全复制)到没有密码的ec2实例

使scp不用输入密码