Você deve usar -n
além de -N
para evitar que o ssh leia o terminal.
Estou passando por um problema bizarro com o SSH + Bash + Terminal.app: quando o SSH é executado em segundo plano, o shell parece perder aleatoriamente pressionamentos de tecla ~ 50% do tempo.
Por exemplo, se eu correr:
$ ssh -N my-tunnel &
$ # typing becomes lossy
Em seguida, digite "asdf", apenas as letras "a" e "f" podem aparecer (embora seja uma velocidade de digitação aleatória e parcialmente relacionada; se eu estivesse digitando a toda velocidade, possivelmente apenas o "f" poderia aparecer) .
Esse problema afeta apenas o shell. Se eu executar, por exemplo, ssh -N my-tunnel & cat
, os caracteres serão ecoados como esperado pelo cat. As teclas pressionadas são perdidas quando o gato é morto e eu volto para a concha.
Outras coisas a notar:
nohup ssh -N my-tunnel &
não altera nada Então: o que está acontecendo aqui? E existe alguma maneira de eu fazer o background ssh sem quebrar o terminal?
Você deve usar -n
além de -N
para evitar que o ssh leia o terminal.
Este é o comportamento normal. Não execute ssh
em segundo plano quando ainda estiver conectado ao terminal. Se você quiser colocá-lo em segundo plano depois que o terminal não for mais necessário (por exemplo, para uma senha), use a opção -f
e não use &
:
ssh -fN my-tunnel
Tags ssh terminal terminal.app