SSH 等效于 .profile/.bashrc

Ram*_*mon 14 ssh bash

我正在寻找一种方法来在我 ssh 到的任何服务器上的会话中自动定义一些别名。我不能把它们.bashrc放在服务器上的文件中,因为我登录的用户帐户是由其他人共享的,此外还有几十个,在每台机器上维护一个脚本会很痛苦。我知道我可以用来expect自动输入别名,但我只是想知道 OpenSSH 是否有任何内置的东西可以用来实现这一点?

Sir*_*rch 7

在期望中做这件事没有错。我完成的另一种方式也很脏,使用脚本,首先 scp 要运行的配置文件,然后 ssh 进入,运行它并保持连接。

因此,将所有配置文件设置放在本地文件中.<local username>-<hostname>-init.sh,然后运行以下脚本以登录远程主机。

#!/bin/sh
[ $# -eq 0 ] && { echo "syntax: $0 <host> [<ssh-option>...]" 1>&2 ; exit 1 ; }
host=$1 ; shift    # use any remaining args as ssh options
initfile=".$USER-`hostname`-init.sh"
scp -q ~/.ssh-init.sh "$host:/var/tmp/$initfile"
ssh -t "$@" $host "bash --rcfile /var/tmp/$initfile"
Run Code Online (Sandbox Code Playgroud)