Estou trabalhando com muitos hosts remotos do Ubuntu que estão mudando muito. Para ter um fluxo de trabalho simplificado em todos os hosts, estou baixando meus dotfiles pessoais com aliases bash, pequenos exes e configurações nesses servidores após o login e fonte dos novos arquivos bash. Para isso, aliasei meu comando ssh para isto:
ssh() {
command ssh -t -o RemoteCommand="git -C '/tmp/myuser/dotfiles' pull --rebase \
|| git clone https://github.com/MyUser/dotfiles.git '/tmp/myuser/dotfiles'; \
bash --rcfile '/tmp/myuser/dotfiles/.bashrc' -i" "$@"
}
Isso funcionou de forma confiável até agora, no entanto, o problema aqui é que esse alias às vezes atrapalha. Um caso é, por exemplo, se eu quiser executar um comando no host remoto da minha máquina local sem fazer login no host:
ssh foreign.host 'curl http://localhost:8888/say/hello'
Nesse caso, o ssh irá reclamar Cannot execute command-line and remote command.
(já que o comando remoto já foi dado).
Existe uma maneira de configurar o OpenSSh para que meus dotfiles sejam buscados e originados somente ao executar um shell de login bash em um host?