Como parte do meu esforço para reduzir o ruído nos logs e reduzir um pouco a capacidade de descoberta (e além do fail2ban, permitindo apenas a autenticação de chave pública etc.), eu mudo rotineiramente as portas sshd nos servidores que configurei para uma porta diferente, digamos 5492. Anexo -p 5492 ao meu comando ssh ou adiciono a porta de cada servidor específico ao meu ssh_config
.
Existe uma maneira de configurar o ssh para tentar conectar-se às portas 22 e 5492 se a porta 22 não funcionar?
ssh
command-line
Riley
fonte
fonte
ssh
presença para o exterior.Respostas:
Você pode envolver um script de shell,
ssh
masssh
ele não o fará.Uma maneira de usar uma função bash é esta (colocar em
~/.bashrc
):A propósito, é recomendável usar
root
portas reservadas para serviços do sistemassh
, a fim de evitar que os usuários tenham um processo que escute, digamos, a porta 5492. Caso contrário, eles podem brincar de homem no meio e possivelmente capturar dados de login. Portanto, use uma porta <1024.fonte
ssh
retornar diferente de zero. Um exemplo trivial seriassh user@server false
.command
agora. Só queria evitar a recursão, como você adivinhou certo.ssh
- se houver um erro ssh (em oposição à falha do comando remoto), ele sairá com um status de 255. Portanto,command ssh -p 22 "$@"; if [ "$?" -eq 255 ]; then command ssh -p 5492 "$@"; fi
deve funcionar.ssh
ele próprio pode fazer isso viaMatch
documentado,ssh_config(5)
embora a documentação seja um pouco esparsa em exemplos. Esse formulário pode ser adequado se alguém quiser empurrar a complexidade para a configuração do SSH, embora seja restrito pelas limitações dassh_config(5)
sintaxe e possa exigir algumas brincadeiras com o resultado desejado. Notavelmente, a porta personalizada não pode ser configurada ou pode ser configurada incorretamente daMatch
tentativa anterior . É por isso que, abaixo, ele é definido duas vezes quando testado, ou uma vez para o padrão, e não é definido ao estabelecer os padrões canônicos.is-ssh-up
apenas verifica se algo responde na porta especificada e pode parecerfonte
Você pode usar a função curinga de
~.ssh/config
, colocando esta entrada na sua lista:Mas isso não volta a 22 por si só.
Se você colocar no final, ainda poderá substituí-lo pelos hosts em que precisar 22, colocando um valor diferente acima dele. (E você sempre pode substituí-lo na linha de comando.)
fonte