我经常使用ssh登录到远程服务器,以执行标准管理工作.我有本地bashrc /
vimrc和各种其他配置文件,我希望远程可用.我经常只登录这些远程服务器,所以我不想在这些盒子上留下我的个人资料的副本,其中一些是在客户网站上.
我确实考虑过做一些黑客让远程服务器挂载fusefs webDAV或其他方式在会话期间将远程文件系统挂载到远程服务器.但是,如果远程系统没有必要的软件包,或者是防火墙,则会出现问题.
这个问题是否有任何良好的解决方案是交叉分发兼容的,最近的fedora / RHEL / ubuntu / debian / CentOS,并且不会干扰或减慢登录过程?
[编辑]
我想其他一个考虑因素是,我可能正在使用别人用户帐户登录,所以我不想对配置文件进行任何持久的更改.理想情况下,我只会为会话使用一些临时配置文件,然后在注销时将其丢弃.
这可能是在棍棒领域进入月球;-)
解决方法
您可以使用ssh -t运行安装脚本,然后运行
shell,然后运行清理脚本. ssh -t允许您运行命令,但仍然在中间运行一个或多个shell并正确分配终端
您的安装脚本可以包括wget’ing / curl’ing / scp’临时主目录到$HOME / tmphome之类的东西,然后运行这样的脚本来启动shell:
#!/bin/sh HOME="$HOME/tmphome" cd "$HOME" bash --login
这应该可以很好地将你的rc文件隔离到tmphome,而ssh -t将跳过用户的bashrc.只要您的环境是轻量级的,复制就不需要很长时间.
您的命令可能类似于ssh -t user @ host’wget http://server/tmphome.tar.gz&& tar -zxvf tmphome.tar.gz&& rm tmphome.tar.gz&& tmphome / shell.sh”