我正在远程服务器上编辑一堆文件。我可以使用SSH (公钥或密码)连接。我使用Vim的方式如下:vim scp://user@server//path/to/file.cpp我需要在我的计算机上使用Vim,因为它是自定义的,因此我不想使用安装在服务器上的Vim。
我不能在这个远程服务器上安装任何东西。要编译,我运行make。
我希望能够从Vim中运行make,以便它能够在服务器上进行编译。我希望避免打开另一个带有SSH连接到该服务器的终端。
那么,我的问题是:是否可以通过Vim维护SSH连接?
谢谢
发布于 2016-10-12 08:25:33
当然,只要您在客户端上安装了最近的OpenSSH,就可以了。你有“控制管道”,man ssh_config会给你展示魔法。基本上,在客户机上,您可以在~/.ssh/config中创建一个主机条目,如下所示:
Host my_remote_server # a symbolic name of your choice
Hostname server_IP_or_DNS # the real name
User username # the username you use for login
IdentityFile ~/.ssh/a_suitable_ssh_key_if_any # for authentication purposes
ControlMaster auto
ControlPath ~/.ssh/%C # or ~/.ssh/%h-%p-%r for older versions
ControlPersist 5m # or yes for neverexpiring persistent connection这样做,第一个连接将打开一个“通道”,将保持在指定的时间或永远开放。从现在开始,您可以引用您的ssh连接,只需将其命名为Host。因此,例如,与其写:
vim scp://username@server_IP_or_DNS//full_path/to/file.cpp你会写:
vim scp://my_remote_server//full_path/to/file.cpp或
ssh my_remote_server要关闭现有的持久连接,您需要运行:
ssh -O exit my_remote_server所有这些都将适用于普通SSH、SCP和SFTP。就这样吧。
https://unix.stackexchange.com/questions/315844
复制相似问题