当前位置:  开发笔记 > 编程语言 > 正文

通过SSH使用本地设置

如何解决《通过SSH使用本地设置》经验,为你挑选了3个好方法。

是否可以让SSH会话在登录时使用所有本地配置文件(.bash_profile,.vimrc等)?这样,您就可以在远程会话中编辑vim中的文件.



1> thom_nic..:

我刚刚遇到了两个替代方法,只是做了一个git clone你的dotfiles.我不赞成其中任何一个,也不能说我已广泛使用,所以我不知道这些中是否存在任何陷阱.

SSHRC

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

.ssh/config和 LocalCommand

此博客文章提供了一种在登录远程主机时自动运行命令的方法.它将一组文件划分并管理到遥控器,然后在远程的$ 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 .."成一个脚本.

请注意,上面的内容看起来像连接时会破坏遥控器上的相同文件,因此请谨慎使用.



2> ramanujan..:

使用dotfiles.git repo

我所做的是将所有配置文件保存在中央服务器上的dotfiles.git中.

您可以对其进行设置,以便在您进入远程计算机时自动提取最新版本的dotfiles.我做这样的事情:

ssh myhost
cd ~/dotfiles
git pull --rebase
cd ~
ln -sf dotfiles/$username/linux/.* . 

注意:

    要将它放在shell脚本中,您可以通过管道连接到ssh来自动执行远程计算机上的命令的过程.

    "$ username"就在那里,您可以与您正在使用的其他人共享您的配置文件.

    "ln -sf"创建所有dotfiles的符号链接,覆盖任何本地文件,这样〜/ .emacs链接到版本控制文件〜/ dotfiles/$ username/.emacs.

    使用"linux"子目录只是为了允许跨平台的配置更改.我在dotfiles/$ username/mac下也有一个mac目录./ mac目录中的大多数文件都是从linux目录中符号链接的,因为它非常相似,但有一些例外.

    最后,请注意,您可以使用主机名等更加复杂,而不仅仅是通用的"linux".使用dotfiles.git,您还可以从朋友那里搜索dotfiles,这很棒 - 每个人都有自己的一套小技巧和黑客.



3> Andy Lester..:

不,因为它不是使用配置文件的SSH,而是远程shell.

我建议您将配置文件保存在Subversion或其他一些VCS中.这是我如何做到的.


ping断链接.
推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有