Use a força, Luke!
RequestTTY force
no seu ~/.ssh/config
para o host desejado.
Existe alguma maneira de especificar, em .ssh/config
, um comando como:
ssh -t remote-host "screen -dR screen_name"
para que eu possa acessar facilmente a sessão screen
remota com ssh remote-host
?
No momento, resolvi esse problema usando um script personalizado:
$ cat ~/bin/sssh
#!/bin/sh
/usr/bin/ssh -t $1 "screen -dR ab"
~/bin
fica em primeiro lugar em $PATH
, mas é pouco flexível e feio.
Além disso, gostaria de encontrar uma maneira de implementar o preenchimento automático do host para meu script personalizado.
Use a força, Luke!
RequestTTY force
no seu ~/.ssh/config
para o host desejado.
Para alocar o tty como você faria com a opção -t
, coloque RequestTTY force
como uma entrada no arquivo de configuração ssh (geralmente em ~/.ssh/config
). Para sempre executar um comando no servidor depois de conectado, coloque RemoteCommand COMMAND
na entrada, em que COMMAND
é o comando que você deseja executar na conexão. Para outras opções, verifique man ssh_config
.
Host remote-host
Hostname my.server.com
User imauser
IdentityFile /path/to/identity_file
RequestTTY force
RemoteCommand screen -dR screen_name
Eu diria que esta é a maneira mais flexível. Um script permite configurar parâmetros, adicionar condicionais, alterar o comando conforme necessário, tudo com base nas entradas.
Existem maneiras de "forçar" o comando em authorized_keys
. Mas eu não sei de uma maneira de forçar a alocação de tty exceto da linha de comando ou forçar um comando no servidor remoto a partir dos arquivos de configuração do lado local.
Eu tenho um script que verifica o arquivo de configuração, verifica o DNS com vários domínios e define a cadeia de título do emulador de terminal. Eu chamo de tela no meu sistema local ( Ctrl-a g ).
Tags ssh configuration gnu-screen