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