Install Arch Linux via SSH (Português)
Este artigo possui o intuito de mostrar aos usuários como instalar o Arch através de uma conexão SSH. Considere esta abordagem quando o host está em local remoto ou você quiser usar capacidade de copiar/colar de um cliente SSH para fazer a instalação do Arch.
Na máquina remota (destino)
Inicie a máquina destino em um ambiente Arch live por meio de uma imagem CD/USB Live: isso vai autenticar o usuário como root.
Neste ponto, configure a rede na máquina destino como, por exemplo, sugerido no Guia de instalação#Conectar à internet.
Em seguida, configure uma senha de root que é necessária para uma conexão SSH, já que a senha padrão do Arch para root é vazia:
# passwd
Agora, certifique-se que PermitRootLogin yes
está presente (e descomentado) no /etc/ssh/sshd_config
. Essa configuração vai permitir o login como root com autenticação com senha no servidor SSH.
Finalmente, inicie o daemon openssh com sshd.service
, que está incluído por padrão no live CD.
PermitRootLogin yes
do /etc/ssh/sshd_config
.Na máquina local
Na máquina local, conecte à máquina destino via SSH com o seguinte comando:
$ ssh root@endereço.ip.do.destino
A partir daqui, uma mensagem de boas-vindas do ambiente live será apresentada, e será possível administrar a máquina como se estivesse sentado em frente ao teclado físico. Neste ponto, se a intenção apenas instalar o Arch da mídia live, siga o guia em Guia de instalação. Se a intenção é editar uma instalação Linux existente que está com problemas, siga o artigo wiki Instalar a partir de um Linux existente.
Instalação em um servidor headless
Esta seção descreve a instalação do Arch Linux em um servidor headless (usando a máquina Intel NUC como exemplo) sem teclado, mouse ou monitor. Isso envolve três etapas:
- Criar uma imagem live do Arch Linux modificada usando Archiso. A modificação é projetada para fazer três coisas:
- Conectar-se automaticamente à rede Wi-Fi (possivelmente protegida por senha) no momento da inicialização.
- Executar o daemon SSH no momento da inicialização
- Criar um arquivo
/root/.ssh/authorized_keys
para o root que contenha sua chave pública. O padrão/etc/ssh/sshd_config
permite que o root efetue login no SSH usando autenticação de chave pública.
- Inicializar a máquina headless em um ambiente Arch live, inserindo a mídia de instalação que contém a imagem de inicialização modificada acima e inicializando-a.
- Aguardar um minuto ou mais para permitir que o tempo da máquina headless seja inicializado e conectado à rede Wi-Fi. Na sua máquina existente (com teclado e tela), faça acesso via SSH ao ambiente Arch live no servidor headless e conclua a instalação conforme descrito no Guia de instalação.
O restante desta seção descreve a primeira etapa da criação de uma imagem live modificada. Tudo isso feito em uma máquina com uma instalação existente do Arch Linux, que normalmente também será a máquina da qual você planeja fazer o SSH na máquina headless.
- Instale Archiso e, como explicado em Archiso (Português)#Preparar um perfil personalizado, copie o perfil releng para uma pasta adequada:
- Crie um arquivo definindo o SSID da sua rede, a senha e o arquivo de chave pública. Isso pode ser mesclado no arquivo de script descrito abaixo, mas eu prefiro manter alguma separação entre código e dados.
- Crie um script de compilação personalizado que instale os pacotes necessários, habilite os serviços desejados e copie o arquivo de chave pública para a imagem de inicialização. Este script faz várias modificações na imagem de inicialização:
- Isso copia a chave pública para o diretório . Como explicado em Archiso (Português)#Adicionando arquivos para a imagem, isso deve ser feito criando um diretório dentro de
airootfs/
e copie os arquivos lá. O SSH é muito específico sobre permissões de arquivo e também devemos definir essas permissões. - Isso configura a imagem de inicialização para conectar-se à rede Wi-Fi na inicialização usando NetworkManager e sua interface de linha de comando nmcli. Existem várias etapas envolvidas nisso:
- Instale o NetworkManager bem como os drivers e firmwares da conexão sem fio o que no caso do Intel NUC é o . Como explicado em Archiso (Português)#Selecionando pacotes, a instalação de pacotes adicionais é realizada adicionando estes pacotes às listas de pacotes em .
- Isso copia a chave pública para o diretório . Como explicado em Archiso (Português)#Adicionando arquivos para a imagem, isso deve ser feito criando um diretório dentro de
- Inicie o
NetworkManager.service
na inicialização adicionando o comando necessário a conforme explicado em Archiso (Português)#Preparar um perfil personalizado - Verifique se o comando necessário é executado automaticamente na inicialização. A imagem de inicialização é configurada por padrão para fazer login automático para fazer root na inicialização. Quando o root (ou qualquer outro usuário) efetua login, os scripts em são executados. Então, tudo o que precisamos fazer é criar um script executável em com o comando necessário . No script abaixo, a senha está entre um conjunto de aspas misteriosas; essa citação é necessária apenas se a senha for realmente uma senha (com espaços incorporados).
- Inicie o
- Inicie o
sshd.service
na inicialização adicionando o comando necessário a conforme explicado em Archiso (Português)#Preparar um perfil personalizado - Finalmente, o script de compilação personalizado deve executar o script de compilação original () para criar a imagem de inicialização.
Torne o script executável e execute-o:
A imagem de inicialização modificada agora está pronta (na pasta /root/archlive/out/
) e pode ser copiada para uma mídia de instalação (unidade USB) usando :