Neovim scp不提示输入密码

时间:2018-09-10 18:41:28

标签: vim scp neovim

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

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

但是,由于NeoVim中的基础命令:! scp user@host:path LOCAL-TEMPFILE在NeoVim中不能交互工作,因此不会对NeoVim使用相同的命令提示输入密码:

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

1 个答案:

答案 0 :(得分:0)

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

更新:因此,事实证明,有一个Neovim issue带有从:!开始的交互式命令,这就是netrw的工作;插件无法捕获密码挑战。它基本上是在执行:! scp user@host:path LOCAL-TEMPFILE

如果可以避免该问题(对主机使用基于密钥的SSH身份验证),则可以继续将Neovim与netrw结合使用。如果这对您确实很重要,则可以使用更复杂的解决方法。 (例如,我使用ssh周围的包装器来解析~/.ssh/config中的自定义Password Hunter2项(这些密码在组织中众所周知,仅用于测试VM,因此这里没有安全性问题),然后使用sshpass自动登录。)

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