詳細検索

Tente usar apenas comandos forçados com SSH para adicionar VIP

Avatar
por miyashitak
3 min de leitura

Tente usar apenas comandos forçados com SSH para adicionar VIP
Traduzido do 日本語 • Ver original

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.

Related Articles