ssh user@server -t "cd /some/directory; bash --login"
-
-t
mantém a conexão se houver interação do usuário) - o "comando" está entre aspas
-
bash --login
é necessário para manter a conexão após ocd
(consulte-t
)
Eu tenho uma pasta em ~ / apps / e outra na raiz / apps /
Eu quero ssh para eles
ssh [email protected]:~/apps/
e
ssh [email protected]:/apps/
Eu recebi o seguinte erro:
Could not resolve hostname
O que eu fiz de errado?
Eu acho que você está misturando scp e ssh
Para ssh, você não precisa especificar o caminho de destino. Você acabou de logar como [email protected] e você pousou na pasta pessoal do usuário.
O SSH espera a seguinte sintaxe:
ssh [other_options] [user@]hostname [command]
então, quando você digitou:
ssh [email protected]:~/apps/
O SSH entendeu que você deseja se conectar a um host chamado "abc.com:~/apps/" com um usuário "usuário". Como esse host não existe, você recebe o erro citado.
Você terá que dividir seu comando em dois assim:
ssh [email protected]
(type the password, and wait for ssh to log you in)
cd ~/apps/
Edit: Você pode sempre ssh como [email protected] e depois navegar até a pasta desejada usando o cd folderName
Ozair Kafray explicou melhor
Abaixo, deixe-me fazer login & vá para um diretório em uma linha, no Ubuntu:
ssh [email protected] -t "cd /path/to/your/directory/; 'echo $SHELL --login'"
OU apenas
ssh [email protected] -t "cd /path/to/your/directory/; bash --login"
Melhor da sorte
Tags ssh