Pré -requisitos
O servidor SSH não está instalado no Ubuntu por padrão. Você precisa instalar o pacote OpenSSH que funcionará como um servidor SSH antes de iniciar este tutorial. Execute o seguinte comando para instalar o servidor OpenSsh, se ele não estiver instalado no sistema antes.
$ sudo apt install OpenSsh-ServerGerar uma chave SSH
Gere os pares de chaves ssh para executar os comandos no servidor remoto. Execute o seguinte comando para criar a chave pública e a chave privada. A chave privada será armazenada no servidor remoto e as chaves públicas serão armazenadas no cliente com segurança.
$ ssh -keygen -t rsaDepois de executar o comando acima, ele perguntará o nome do arquivo onde a chave será armazenada. aperte o Digitar chave para manter o nome do arquivo padrão da chave pública que é id_rsa.bar. Em seguida, ele solicitará que a senha faça login. Novamente, pressione o Digitar Chave duas vezes se você quiser manter a senha vazia. A seguinte saída semelhante aparecerá após gerar as chaves.
Crie o arquivo Autorizado_keys
id_rsa.O arquivo pub contém a chave pública da conexão SSH armazenada no ~//.SSH/ pasta do host remoto. A máquina cliente também exigirá que a chave pública se conecte com o host remoto copiado na próxima parte do tutorial. Você precisa criar o arquivo chamado Autorizado_keys dentro do ~/.pasta ssh do host remoto que conterá a chave pública. Execute o seguinte comando para mover o id_rsa.arquivo de pub para o ~/.arquivo ssh/autorizado_keys.
$ mv ~//.ssh/id_rsa.pub ~//.ssh/autorizado_keysNenhum erro aparecerá se o arquivo for movido corretamente, como a seguinte imagem.
Modifique o arquivo de configuração
Você precisa definir alguns parâmetros de configuração na máquina do servidor para fazer a conexão SSH sem senha. Execute o seguinte comando para abrir o arquivo SSHD_CONFIG usando o Nano Editor para definir os valores de parâmetros necessários.
$ sudo nano/etc/ssh/sshd_configDefina o valor da senha da autenticação para não para desativar a opção de senha de texto para a conexão SSH.
PasswordAuthentication no
Salve e feche o arquivo. Execute o seguinte comando para reiniciar o serviço SSH.
$ sudo systemctl reiniciar sshExecute o seguinte comando para definir os bits de permissão do arquivo Authorized_Keys para evitar o acesso não autorizado deste arquivo.
$ chmod 600 ~//.ssh/autorizado_keysCopie a chave pública na máquina cliente
Agora, faça login na máquina cliente de onde você executará o comando ssh para fazer uma conexão SSH com o host remoto. Aqui, duas contas de usuário do Ubuntu foram usadas para verificar a conexão SSH no servidor local. Uma conta de usuário foi usada como cliente e outra conta de usuário foi usada como servidor neste tutorial.
Execute o seguinte comando para criar uma pasta chamada ~/.ssh na máquina cliente se não existir.
$ mkdir ~/.sshExecute o seguinte comando para copiar a chave pública do host remoto para o ~//.pasta ssh do cliente.
$ scp fahmida@fahmida-virtualbox:/home/fahmida/.ssh/id_rsa ~//.ssh/Você precisa fornecer a senha do nome de usuário do host remoto para copiar a chave pública para a máquina cliente. Você obterá a seguinte saída se o arquivo for copiado corretamente. A máquina cliente agora está pronta para fazer a conexão com a máquina do servidor usando o serviço SSH.
Logon na máquina servidor usando ssh sem senha
Agora, a chave pública existe nas máquinas de clientes e servidores. Quando a máquina cliente envia a solicitação de conexão para a máquina do servidor usando o comando ssh, o servidor corresponde à chave pública do cliente com a chave pública do servidor. Se as correspondências forem encontradas, a conexão será estabelecida do cliente ao servidor. Você pode se conectar ao servidor ou ao host remoto usando o nome do host ou o endereço IP. O servidor local usou este tutorial para mostrar o uso dos Autorizados_keys para estabelecer a conexão SSH da máquina cliente para a máquina do servidor. Uma conta foi usada como uma máquina de servidor onde o servidor OpenSsh está instalado e outra conta foi usada como uma máquina cliente aqui. Execute o seguinte comando da máquina cliente para estabelecer uma conexão com a máquina do servidor.
$ ssh fahmida@fahmida-virtualboxA saída a seguir aparecerá após a execução do comando acima. A saída mostra que o nome de usuário da máquina cliente é 'simmin.'O nome de usuário da máquina do servidor é' Fahmida.'A conexão SSH foi estabelecida corretamente porque o nome de usuário mudou para' Fahmida 'do' Yesmin.'Agora, o conteúdo da máquina do servidor pode ser acessado facilmente. Se o usuário executar qualquer comando agora, a saída será gerada com base na máquina do servidor.
Conclusão
O uso dos Autorizado_Keys para estabelecer a conexão SSH foi explicado neste tutorial usando o host localizador. Você pode seguir o mesmo processo para fazer a conexão SSH para o host remoto. Você também pode usar o comando ssh-copy-id para fazer uma conexão SSH com o servidor mostrado em outro tutorial.