Nahrajte soubor na každý vzdálený počítač, řekněte ~/.my_custom_bashrc
, s vaším vlastním bash
konfigurace, (v tomto případě PS1=...
) a poté spusťte ssh
s:
ssh [email protected] -t "bash --rcfile ~/.my_custom_bashrc -i"
Můžete snadno použít bash
fungovat jako obal pro čitelnost.
Pokud chcete poslat pouze PS1
a neobsahuje '
(jediná citace), zkuste:
ssh targethost -t "PS1='$PS1'; exec bash"
Místní .bashrc
může klidně přepsat PS1
ačkoli (díky Dennisi Williamsonovi za upozornění).
Existují způsoby, jak přenášet proměnné prostředí přes ssh, ale obvykle jsou zakázány v konfiguraci serveru. Pokud PermitUserEnvironment
direktiva je povolena v konfiguraci serveru a každý uživatel má svůj vlastní pár klíčů (jo, možná nebudete mít takové štěstí), můžete přidat environment="PS1=…"
na řádek v ~/.ssh/authorized_keys
odpovídající vašemu klíči.
Pokud si chcete ponechat vlastní konfiguraci na sdíleném uživatelském účtu, můžete si vytvořit vlastní adresář konfiguračního souboru a nastavit HOME
proměnná prostředí, aby ukazovala na tento adresář.
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
Vytvořte symbolické odkazy v mrstatic.home
adresář ukazující zpět na odpovídající položku v nadřazeném adresáři, když chcete sdílet soubor s ostatními uživateli.
Poté se přihlaste pomocí
ssh targethost -t 'HOME=~/mrstatic.home; exec bash'`
Pokud jste ochotni upravit dálkový ovladač .profile
(nebo jiný inicializační soubor), pravděpodobně můžete svá nastavení automatizovat. Mnoho webů umožňuje LC_*
prostřednictvím proměnných prostředí (normálně se používají pro nastavení národního prostředí). Pokud jsou splněny obě tyto podmínky, můžete nastavit proměnnou, která se ve skutečnosti nepoužívá pro národní prostředí, řekněme LC_USER
, na straně klienta a otestujte jej na serveru .profile
.
(Sdílené účty jsou samozřejmě špatný nápad, ale uvědomuji si, že možná nejste schopni tuto situaci změnit.)
ssh -t [email protected] "remote='$PS1' bash -i"
Poté na výzvu:
PS1=$remote