unix - 通过 SSH 使用本地设置

标签 unix shell ssh

是否可以让 SSH session 在登录时使用所有本地配置文件(.bash_profile、.vimrc 等)?这样,您将拥有相同的配置,例如,在远程 session 中的 vim 中编辑文件。

最佳答案

我刚刚遇到了两种替代方法来做一个 git clone你的点文件。我对其中任何一个都不信任,也不能说我已经广泛使用了其中任何一个,所以我不知道这两个是否存在缺陷。

sshrc

sshrc 是一个工具(实际上只是一个大的 bash 函数),它可以复制本地 rc 文件而不将它们永久写入删除用户的 $HOME - 这个想法可能是其他人使用的共享管理员帐户。似乎也可以针对不同的远程主机进行定制。

.ssh/config 和 LocalCommand
This blog post建议一种在您登录远程主机时自动运行命令的方法。它将一组文件压缩并通过管道传输到远程,然后在远程的 $HOME 上将它们解压缩:

您本地的~/.ssh/config看起来像这样:

Host *
   PermitLocalCommand yes
   LocalCommand tar c -C${HOME} .bashrc .bash_profile .exports .aliases .inputrc .vimrc .screenrc \
               | ssh -o PermitLocalCommand=no %n "tar mx -C${HOME}"

您可以修改上述内容以仅在某些主机上运行该命令(而不是 * 通配符)或为不同的主机进行自定义。使用这种方法每个主机可能会有相当数量的重复 - 尽管您可以打包整个 tar c ... | ssh .. "tar mx .."也许变成脚本。

请注意,当您连接时,上面的内容看起来像是破坏了 Remote 上的相同文件,因此请谨慎使用。

关于unix - 通过 SSH 使用本地设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/764942/

相关文章:

c - 在 Linux 中使用 setuid 位

file - Unix 命令行 : How to get the total size of modified files in the last 30 days

unix - 实现 ls' -v 标志的可移植方法(即按版本排序)?

mysql - 无法从 MySQL Workbench 建立远程连接

linux - SSH - 帮助理解代理命令

unix 对多个字段进行排序

android - 从 adb shell 在后台启动一个进程,而不将该进程附加到 Android 中的终端

linux - 查找以 *.html 结尾但不以 *-partial.html 结尾的文件

git - 在window服务器上通过ssh执行git pull命令永远挂起

bash - 在 bash 中提取多个字符串并合并为 .csv