Inicie o SSH automaticamente na inicialização

9

Completamente novo no Linux e Ubnuntu. Configurando uma máquina para fazer aprendizagem profunda / redes neurais. Até agora está indo bem. Tem tudo instalado e funcionando. Eu quero ser capaz de ssh do meu laptop Mac para usar o sistema. Eu instalei openssh e consegui que funcionasse.

No entanto, quando eu reinicio a máquina, o servidor ssh não é reiniciado. Eu verifico com sudo service ssh status e relata e erro. Eu posso então começar e tudo funciona bem.

Meu primeiro pensamento foi que eu preciso dizer para começar a reinicialização, e eu encontrei esta discussão que diz que deve começar por padrão e eu não preciso adicionar um chrontab ou qualquer coisa assim. Então eu não acho que seja isso.

Então eu encontrei este tópico que sugere usar o comando sudo update-rc.d ssh defaults , mas esse segmento é bastante antigo e parece que a resposta talvez não estivesse certa mesmo naquela época?

Então eu encontrei este tópico que sugere comentar a linha ListenAddress no sshd_config arquivo . Basicamente, diz que se o ListenAddress for usado, ele poderá tentar obter o IP antes que ele seja atribuído pelo DCHP e, assim, a inicialização falhará. O que faz sentido Mas eu preciso desse parâmetro para fazer o meu encaminhamento de porta funcionar na minha rede doméstica.

Esta documentação sob a entrada ListenAddress diz que

The default is to listen on all local addresses.

Então, talvez eu não precise fazer um trabalho de encaminhamento de porta?

Eu segui o tópico anterior para este relatório de erros , que também é bastante antigo, mas sugere usar o gerenciador de rede para reiniciar o ssh toda vez que o netmanager receber um novo IP.

echo /etc/init.d/ssh restart > /etc/NetworkManager/dispatcher.d/10ssh
chmod 755 /etc/NetworkManager/dispatcher.d/10ssh

Isso é muito mais do que esse noobie pode avaliar neste momento. Isso é seguro? Essa é a maneira de fazer isso? Alguma outra coisa foi trabalhada nos últimos 7 anos?

Qualquer conselho seria ótimo. Obrigado.

    
por Rothrock 13.03.2017 / 03:25

1 resposta

28

Você já tentou simplesmente configurar

sudo systemctl enable ssh

?

É assim que eu tenho meu ssh configurado para ser executado na inicialização.

**** Eu estou saindo na parte acima da resposta no caso de ser útil para os outros que se deparam com este post ****

Citando meu comentário acima:

% bl0ck_qu0te%

O ListenAddress não tem nada a ver com o redirecionamento de porta, o ListenAdress pode ser usado para um servidor configurado com vários endereços IP em uma ou mais NICs. Citando aqui (a página inteira é uma boa explicação): link

% bl0ck_qu0te%

É permitir que alguns dos seus vários IPs aceitem conexões ssh. Eu estou supondo que você defina o ListenAddress para o seu IP público ou IP interno do seu roteador - eu estou supondo que se você definir que o IP local do seu servidor teria funcionado bem. Independentemente disso, agora você sabe como o ListenAddress funciona e você estará pronto se precisar configurar um servidor mais complicado. Fico feliz em saber que você fez as coisas funcionarem.

    
por RobertRSeattle 13.03.2017 / 03:33