ssh server no runlevel 3

2

Eu tenho tentado configurar um servidor ssh na minha área de trabalho para acesso remoto e estou tendo alguns problemas. O primeiro que eu encontrei é que o sshd não está iniciando na inicialização. Assim que eu corro:

sudo service sshd start

manualmente eu sou capaz de ssh para o computador a partir de si mesmo, então eu sei que o daemon ssh está instalado corretamente. Agora eu só quero começar na inicialização.

Depois de investigar, encontrei em

/etc/rc.d/rc3.d 

Eu encontrei um script

K##sshd

ou algo nesse sentido. Eu acredito que o K implica que ao entrar no nível de execução 3, ele esteja desligando o sshd. Tudo que eu preciso fazer para começar é criar um arquivo S ## sshd para que ele reinicie ou há uma maneira melhor de fazer isso. Eu imaginei que eu deveria ter mais algumas opiniões antes de mudar o nome e criar arquivos aleatórios em um palpite.

    
por Godric Seer 16.05.2012 / 16:58

3 respostas

6

I believe the K implies that when entering run-level 3, it is shutting down sshd

Sim. K é para matar.

Esta é a inicialização do estilo SystemV antigo. Os scripts base são todos em init.d, e existem vários links simbólicos com convenções de nomenclatura específicas (S00 ..., K99 ...) nos diretórios rc? .D onde eles são realmente executados.

Quando você altera runlevels, digamos de 1 a 3, o processo init gera um script que vai para o diretório do runlevel antigo (/etc/rc.d/rc1.d/) e executa todos os scripts que começam com K como

K_NUMBER_some_service stop

Então você vai para o diretório para o novo runlevel (/etc/rc.d/rc3.d neste caso) e executa todos os scripts que começam com S como

S_NUMBER_some_service start

Os scripts são executados em ordem alfabética, a ordem geralmente determinada pelo NUMBER , que varia de 00 a 99. A ordem é importante - você não quer iniciar o sshd antes de começar a trabalhar em rede.

Em teoria, se você sabe como determinar o número / ordem que deve ser executado, você pode fazer os links simbólicos manualmente. A maioria dos scripts tem esse número de pedido como um comentário (tente: head /etc/rc.d/init.d/sshd ). Mas você está muito melhor usando as ferramentas adequadas para o trabalho. No Redhat, há ntsysv e também system-config-services . Se você quisesse, poderia até usar a ferramenta de linha de comando chkconfig . Eu acho que

chkconfig --level 2345 sshd on

faria o que você quer. Verifique com chkconfig --list sshd

    
por 16.05.2012 / 17:51
2

Redhat usa a ferramenta ntsysv para ativar / desativar serviços para os diretórios rcN.d.

    
por 16.05.2012 / 17:08
0

se você quiser fazer login no nível de execução 3 (que é o modo multiusuário, somente logins de console), tudo o que você quer fazer é $ sudo init 3 . outra maneira de fazer isso é adicionar o parâmetro do kernel "3", e quando o grub estiver inicializando, pressione "e" para modificar a opção de inicialização do kernel.

AVISO: aplicar isso à máquina em execução no nível de execução 5 (modo multiusuário, com gerenciador de exibição, bem como logins do console) eliminará o X11 e forçará você a efetuar login no modo de console.

    
por 16.05.2012 / 17:08