带有私钥公钥对的 Vim SCP 参数

Del*_*ang 5 ssh vim scp private-key amazon-ec2

目前,我正在尝试使用 Vim 的内置 netrw 插件编辑远程服务器上的文件。我可以使用如下命令通过 SSH 连接到我的 Amazon EC2 服务器:

ssh -i <keyfile> bitname@<ec2-address>
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够使用我自己的 Vim 配置,并且一直在尝试像这样使用 scp:

:e scp://user@<ec2-address>//
Run Code Online (Sandbox Code Playgroud)

但是如果没有参数来输入我的密钥文件,我会收到一个权限被拒绝(公钥)错误。

是否有参数可用于输入我的密钥文件或我忽略的其他解决方案?

提前致谢,

ger*_*ijk 13

我没有 Vim 的netrw插件,但请尝试以下操作。

为您的主机创建一个 ssh 客户端配置文件。将以下内容放入$HOME/.ssh/config

Host myserveralias
Hostname ec-address
User user
IdentityFile /path/to/keyfile
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

当然,根据您的主机替换值。然后使用像这样的 scp URL 登录:

:e scp://myserveralias//
Run Code Online (Sandbox Code Playgroud)

Linux 上的大多数 ssh 客户端都支持客户端配置文件(也是系统范围内的配置文件(/etc/ssh/ssh_config不要与 混淆sshd_config)。我希望您的插件也能这样做。有关更多配置选项,请参阅man ssh_config。调试使用ssh -vvv通常可以帮助您。