Linha de Comando SSH reinicia o Mac OSX Mountain Lion


62

Como posso reiniciar o serviço SSH por meio da linha de comando no Mac OSX Mountain Lion, por favor?

Usando ps aux | grep 'ssh', pude deduzir que o processo é mais provável /usr/sbin/sshd.

A partir daqui, procurei na documentação do sshd referências para 'restart', mas não encontrei nenhuma.

Não sei qual deve ser o meu próximo passo.


4
O que você está realmente tentando realizar? Se for algo como recarregar a configuração do sshd, você não precisa - o launchd inicia um novo processo sshd sob demanda quando uma conexão de entrada é recebida, o que significa que a configuração é relida automaticamente para cada nova conexão. OTOH, se você está tentando alterar as configurações do ouvinte, elas são controladas pelo launchd, e não pela configuração do sshd (veja aqui ).
Gordon Davisson

1
Este foi apenas um teste de depuração de uma solicitação de senha do ssh supostamente sem senha usando chaves públicas. Acontece que a coisa que eu tenha perdido era para desligar StrictMode
James Webster

Respostas:


42

Veja esta resposta para uma pergunta semelhante no ServerFault. O comando deve ser o mesmo no Mountain Lion.

Você pode interromper o serviço usando o subcomando 'unload'.

sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist

Atualização sugerida por @MattClark: Para reiniciar o serviço, use loadapós unload:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Observe que as sessões SSH existentes serão encerradas, portanto, você precisa executá-lo independentemente da sessão do usuário atual.


Este fica comigolaunchctl: Error unloading: com.openssh.sshd
Nicolas Miari

1
@MattClark Então sugiro que você fique longe das máquinas de produção até melhorar sua compreensão de leitura. Da minha resposta: "Você pode PARAR o serviço ..." (grifo meu).
Ansgar Wiechers

3
Você está certo, eu interpretei isso errado, isso foi minha culpa. No entanto, isso também não respondeu à pergunta, como foi feita.
Matt Clark

Você pode executar isso de uma só vez com Cx Ce (C significa Control). Cole-o no terminal e, em seguida, Cx Cc para executar o comando emacs kill, que solicitará que você salve. Eu fiz isso remotamente e não matou minha conexão ... dado que sua configuração está correta.
Ray Foss

92

Não há razão para 'descarregar' o serviço sshd, quando você pode simplesmente 'Parar' o serviço sshd. Ele será reiniciado por si próprio.

sudo launchctl stop com.openssh.sshd

2
No moutain lion:launchctl stop error: No such process
RickyA 10/10

1
@RickyA: Funcionou bem no OSX Mavericks
neu242

Não funciona aqui ( launchctl stop error: No such process)
Nicolas Miari

1
Você precisa, sudopois é assim que é lançado. Compare as executam daemons / agentes launchctl list | grep -i opensshvs sudo launchctl list | grep -i openssh. Para referência ler a launchctl ligação
glenschler

Isso não funciona mais no OS X Yosemite, tentar parar o sshd (como root) resulta no status de saída 3 e o serviço continua em execução.
RCross

4

Não pude confirmar que a resposta de Ansgar funcionou, pois não havia mensagens / sinais óbvios, embora esteja confiante de que funcionou.

Também descobri killall sshdqual mata e reinicia os processos sshd com a desvantagem de que todas as conexões sejam interrompidas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.