在ssh上使用本地shell和编辑器环境

时间:2017-03-22 16:26:27

标签: bash shell ssh zsh

我在一家拥有500多台服务器的大公司工作。所有这些服务器都是基于Linux的,所以他们使用的是openssh。客户端也基于Linux。如果我打开与远程服务器的连接,我将获得一个普通的默认BASH shell。

如果有一个解决方案可以将我的本地客户端shell环境和编辑器配置转发到远程服务器以获得熟悉的工作环境而不复制所有内容,我将非常高兴。

谢谢

2 个答案:

答案 0 :(得分:0)

我只能提供一个非常基本的答案。

这就是说,我想让自己熟悉这个工具ansible

它允许您保持本地终端/ shell并轻松地向多个遥控器发送命令,但是,例如,需要使用该命令定义环境变量。

尽管如此, ansible 也可以轻松转移,例如一个.bash_profile到多个遥控器。

答案 1 :(得分:0)

如果您的登录shell是bash,则可以使用进程替换来远程使用本地rc文件。
您无法使用bashrc传输按源读取的文件,因此需要手动指定它们。另外,通过创建另一个功能并将本地设置保留在其中,可以在ssh目标上使用诸如vim之类的编辑器设置。

ssh -t user@host '
  bash --rcfile <(
    echo ' $(cat ~/.bashrc ~/.bash_function_etc... | base64 ) ' \
  | base64 -d)'

screenshot

就我而言,我在own ssh client (lssh)中使用了此功能。