Padrões após Host
são separados por espaços, não vírgulas, portanto, isso deve funcionar:
Host * !github.com
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 24h
Eu tenho uma configuração relativamente completa para o meu ~/.ssh/config
. Isto é o que está no topo:
Host *
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 24h
BatchMode yes
Ciphers blowfish-cbc
Compression yes
VisualHostKey yes
Eu quero fazer com que ControlMaster
etc não se aplique ao github; eles
aparentemente desconectar ativamente essas conexões persistentes, que eu entendo
e respeito.
Então, fique claro:
$ rm /tmp/ssh_mux_*
$ ssh [email protected]
PTY allocation request failed
Hi frioux! You've successfully authenticated, but GitHub does not provide shell access.
Shared connection to github.com closed.
$ ls /tmp/ssh_mux_*
/tmp/ssh_mux_github.com_22_git
Então eu li alguns documentos, perguntei no IRC, e foi com isso que acabei:
Host !github.com
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 24h
Host *
BatchMode yes
Ciphers blowfish-cbc
Compression yes
VisualHostKey yes
Então agora o github não usa corretamente o ControlMaster:
$ rm /tmp/ssh_mux_*
$ ssh [email protected]
Host key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
+--[ RSA 2048]----+
| . |
| + . |
| . B . |
| o * + |
| X * S |
| + O o . . |
| . E . o |
| . . o |
| . . |
+-----------------+
PTY allocation request failed
Hi frioux! You've successfully authenticated, but GitHub does not provide shell access.
Shared connection to github.com closed.
$ ls /tmp/ssh_mux_*
Mas também não faz mais nada:
$ rm /tmp/ssh_mux_*
$ ssh cs ls
Host key fingerprint is 89:d1:40:7f:0d:11:28:10:ce:23:e6:a9:12:9d:a1:5b
+--[ RSA 2048]----+
| o+o .+o |
| o .+. o |
| + + ..o . . |
| = = . o o |
|o E . S |
| = |
|+ |
|. |
| |
+-----------------+
/home/frew
bin
code
irclogs
lib
out
test
$ ls /tmp/ssh_mux_*
Eu tentei criar a linha de host Host !github.com, *
e Host *, !github.com
, mas
Tanto quanto eu posso dizer quando eu faço isso sempre se aplica ao github.
Como posso fazer o que eu quero?
rudi_s no IRC ajudou-me a encontrar a solução:
Host github.com
ControlMaster no
ControlPath no
ControlPersist no
Host *
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 24h
BatchMode yes
Ciphers blowfish-cbc
Compression yes
VisualHostKey yes
Tags ssh