Insira resmungo obrigatório sobre contas compartilhadas, mas se você tiver pelo menos sua própria chave ssh, você pode (ab) usar a opção command=
no ~/.ssh/authorized_keys
file . Uma chave com uma opção de comando é boa apenas para executar o comando especificado; mas o comando no arquivo authorized_keys é executado com a variável de ambiente SSH_ORIGINAL_COMMAND
definida para o comando especificado pelo usuário (vazio para sessões interativas). Então você pode usar algo assim em ~/.ssh/authorized_keys
:
command="HOME=$HOME/.HOME.drew;
if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then
eval \"$SSH_ORIGINAL_COMMAND\";
else exec \"$SHELL\"; fi" ssh-rsa AAAA…== [email protected]
Note que coloquei as quebras de linha acima para legibilidade, mas isso realmente precisa estar em uma linha no arquivo authorized_keys
.
Em seguida, coloque seus arquivos de configuração favoritos nesse diretório .HOME.drew
.
Para uso pontual, você pode fornecer explicitamente um arquivo de perfil ou executar qualquer comando shell. Passe a opção -t
para ter um terminal se você quiser executar comandos interativos.
ssh shared-account@server "LS_COLORS='$LS_COLORS' ls --color"
ssh -t shared-account@server '. ~/.profile.drew; exec zsh'
Se você quiser apenas editar ou copiar arquivos na máquina remota, poderá usar um sistema de arquivos de rede, como SSHFS (para clientes unix) ou Tramp (para Emacs) e trabalhe no conforto do seu ambiente local.