編輯

編輯

到目前为止我已经尝试了几件事但都没有达到我的目标所以我决定是时候寻求一些帮助了......

这是我的情况。为了完成工作,我需要经常登录多个不同的系统/服务器。

每次我更换服务器时,我都会运行 vim 来开始做一些工作,但我还没有将 vimrc 设置/复制到该服务器。

我认为如果我可以登录到一个新系统并运行一个从可公开访问的服务器获取我的 vimrc 文件的命令,那将非常有用。

以下是我目前所做的:

我已经设置了一个 Linux 服务器,并且我知道它的 IP 地址。(目前它只是在我的本地机器上。)

我已将 vimrc 放在服务器上。(位置待定)

我从这里开始猜测。

我需要在服务器上运行某种可以连接的服务,以及某种可以运行以连接到服务器并获取文件的客户端。

我认为 ftp 之类的东西可能是一个好的解决方案?但我不确定。它似乎有一些问题。

  • FTP 发送密码时不加密。如果我使用匿名登录,没有密码,那就没问题了,但我还没有找到任何方法禁用用户/密码登录我安装的 ftp 服务。出于安全原因,我想这样做,以防有一天我无意中忘记密码,并通过互联网以纯文本形式发送密码。这很愚蠢,但有一天如果咖啡不够喝,这种情况可能会发生。

  • 我无法找到在客户端使用 FTP 的方法,只需一行 bash 命令即可下载我想要的文件。到目前为止,我可以ftp <ip>在客户端上运行并输入某种 ftp shell,但这不是我想要做的。

我是否使用错误的工具来完成这项工作?

服务器端我正在使用proftp( proftpd)。客户端我正在使用ftp(sudo apt install ftp在 Debian 9 上)

我希望能够做一些类似的事情

ssh user@workserver
<login>
get from_mypublicfileserver:/srv/ftp/myvimrc ~/.vimrc

get在哪里ftp或其他东西——我不知道这里应该输入什么样的命令。

workserver是我当天登录来工作的某个随机服务器

from_mypublicfileserver只是 192.168.XXX.XXX 的占位符(或稍后的一些公共 IP 地址,我可以在公共 IP 地址上托管我想要从任何地方下载的任何服务和文件,并且可以公开访问)

作为扩展,能够托管一些非公开但受用户/密码保护的内容也许是个好主意。显然,ftp 不适合在这里使用。如果有必要,我可以将此作为单独的问题发布。

編輯

我取得了一些进展,显然curl可以用来从 bash 脚本下载单个文件

例如

curl ftp://192.168.XXX.XXX/test.txt > test.txt

答案1

SCP(安全复制)可能就是你想要的:

scp user@from_mypublicfileserver:/srv/myfiles/myvimrc ~/.vimrc

如果您能够通过 SSH 进入一台机器,那么您也可以通过 SCP 向该机器传输文件或从该机器传输文件。

答案2

我在 git(裸)存储库中维护我的点文件。要设置我的 .bashrc .vimrc .profile 等,一个简单的git clone ...就足够了。请参阅此文章了解更多详情。你还应该看看Ansible木偶。如今不再需要登录服务器并手动执行操作。

相关内容