![带有私钥公钥对的 Vim SCP 参数](https://linux22.com/image/595888/%E5%B8%A6%E6%9C%89%E7%A7%81%E9%92%A5%E5%85%AC%E9%92%A5%E5%AF%B9%E7%9A%84%20Vim%20SCP%20%E5%8F%82%E6%95%B0.png)
目前,我正在尝试使用 Vim 的内置 netrw 插件编辑远程服务器上的文件。我可以使用以下命令通过 SSH 顺利进入我的 Amazon EC2 服务器:
ssh -i <keyfile> bitname@<ec2-address>
不过,我希望能够使用我自己的 Vim 配置,并一直尝试像这样使用 scp:
:e scp://user@<ec2-address>//
但是如果没有输入密钥文件的参数,我就会收到权限被拒绝(公钥)错误。
是否存在我可以用来输入密钥文件的参数或我忽略的其他解决方案?
提前致谢,
答案1
我还没有 Vim 的netrw
插件,但请尝试以下步骤。
为您的主机创建一个 ssh 客户端配置文件。输入以下内容$HOME/.ssh/config
:
Host myserveralias
Hostname ec-address
User user
IdentityFile /path/to/keyfile
PasswordAuthentication no
当然,请根据您的主机替换这些值。然后使用 scp URL 登录,如下所示:
:e scp://myserveralias//
Linux 上的大部分 ssh 客户端都遵守客户端配置文件(也是系统范围的配置文件/etc/ssh/ssh_config
,不要与 混淆sshd_config
)。我希望您的插件也能这样做。有关更多配置选项,请参阅man ssh_config
。使用 进行调试ssh -vvv
通常可以帮助您。