Bom dia. Aqui é Miyashita da infraestrutura.
Esse é o procedimento para configurar SSH ao conectar ou remover o IP virtual de um servidor de um terminal.
Esta é uma imagem de um lugar onde o IP é falhado manualmente dentro do MHA.
A forma de realizar privilégios root sobre uma conexão SSH é
・Habilitar a autenticação por chave pública com root.
- Mudar para root para que o usuário logado possa sudo.
・Permite executar apenas comandos específicos com root.
Existem três métodos, mas desta vez gostaria de aplicar o terceiro, que não altera muito o nível de segurança.
Teria sido bom se já estivesse em um ambiente onde você pudesse sudo, mas como não dá para usar sudo, você usa apenas comandos forçados.
O ambiente de trabalho é o seguinte:
Conectando o OS:SunOS test 5.10 Generic_147440-19 sun4v sparc sun4v
→ chamado de terminal
Conectado a: Red Hat Enterprise Linux Server versão 6.2 (Santiago)
→ chamar o servidor
Por favor, note que Solaris é um terminal, o que é raro hoje em dia, e é um ambiente cheio de um clima retrô.
(Configurações do Terminal)
・Crie uma chave pública para o usuário fazer login. Prepare duas chaves para cada comando.
[shell]# ssh-keygen -t rsa -N "" -f ~/.ssh/ipadd_command gerando um par de chaves RSA público/privado. As informações de identificação foram armazenadas em /export/home/test/.ssh/ipadd_command. A chave pública foi armazenada em /export/home/test/.ssh/ipadd_command.pub. Impressão digital de chave: 80:1e:4f:8b:2a:0d:22:fb:e2:c7:22:75:70:ef:db:a2 test@test
# ssh-keygen -t rsa -N "" -f ~/.ssh/ipdel_command gerando um par de chaves RSA público/privado. As informações de identificação foram armazenadas em /export/home/test/.ssh/ipdel_command. A chave pública foi armazenada em /export/home/test/.ssh/ipdel_command.pub. Impressão digital da chave: 06:fe:1a:41:fc:2a:02:96:ca:c2:bd:66:64:ed:f5:17 test@test[/shell]
Registre comandos para rodar no servidor.
[shell]# vi ipadd_command.pub comando="ip addr add 172.31.0.1/24 dev eth2 label eth2:1" [/shell] no topo.
[shell]# vi ipdel_command.pub comando="ip addr del 172.31.0.1/24 dev eth2 label eth2:1" [/shell] no topo.
(Configurações do servidor)
Mude as configurações para que você possa entrar por SSH como usuário root e executar comandos.
[shell]# vi sshd_config #PermitRootLogin no PermitRootLogin-forced-commands-only[/shell] para refletir as configurações
[shell]# SSHD de serviço recarregar SSHD: [ OK ][/shell]
Registre a chave pública criada no terminal.
[shell]# vi ~/.ssh/authorized_keys[/shell] Adicione as informações de chave que foram adicionadas ao servidor junto com as informações de comando que você acabou de adicionar.
(Se você não tem um arquivo autorizado_keys, por favor, crie um novo.)
A configuração está completa. Agora vamos conectar pelo terminal.
[shell]# ssh -i ~/.ssh/ipadd_command root@server1 A conexão com o servidor1 foi fechada. [/shell]
Verifique a interface do servidor,
[shell]# ifconfig -a eth2:1 eth2:1 Link encap:Ethernet HWaddr F8:0F:41:FF:FF:FF inet addr:172.31.0.1 Bcast:0.0.0 Mask:255.255.255.0 UP BROADCAST RODANDO MULTICAST MTU:1500 Metric:1 Memory:ded20000-ded40000 [/shell]
Tenho um endereço IP sólido. Agora vou remover o IP.
[shell]# SSH -I ~/.ssh/ipdel_command root@server1 Conexão com o servidor1 foi fechada. [/shell]
A interface do servidor é
[shell]# ifconfig -a eth2:1 eth2:1 encap:Ethernet HWaddr F8:0F:41:FF:FF:FF UP BROADCAST RODANDO MULTICAST MTU:1500 Metric:1 Memory:ded20000-ded40000 [/shell]
O IP estava fora como esperado.
Em um ambiente onde há uma restrição de que a autenticação da chave raiz não é possível, e os comandos a serem executados são limitados.
É fácil de fazer, então por favor, tente.