Por favor, explique os passos completos envolvidos na instalação do servidor OpenSSH no Ubuntu [duplicado]

0

Estou tendo problemas para instalar o openssh-server no Ubuntu. Particularmente, quero saber como gerar o par de chaves públicas privadas RSA e os conceitos relacionados. Quais são as modificações nos arquivos de configuração padrão mais comumente aplicados? Como conceder permissão de root para fazer o login? Como adicionar firewall?

    
por rancho 07.06.2016 / 10:25

1 resposta

0

Vá para o terminal e digite:

sudo su -
apt-get install openssh-server openssh-client

Teste a instalação

ps -A | grep sshd

Se a saída for algo assim:

<some number> ?        00:00:00 sshd

Então o daemon ssh está sendo executado.

Digite novamente o terminal;

ss -lnp | grep sshd

Se a saída for algo assim:

0  128  :::22  :::*  users:(("sshd",16893,4))
0  128   *:22   *:*  users:(("sshd",16893,3))

Em seguida, significa que o daemon ssh está escutando conexões de entrada

Agora editamos o arquivo de configuração. Primeiro fazemos um backup do arquivo original.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults

Agora abrimos o arquivo de configuração para editá-lo

sudo vim /etc/ssh/sshd_config

As senhas fracas são fáceis de adivinhar. A melhor prática é usar chaves SSH em vez de senha. Então, desabilitamos a autenticação por senha. Vá para a linha

#PasswordAuthentication yes

e substitua por

PasswordAuthentication no

Ativar o encaminhamento oferece mais opções para invasores que já adivinharam senhas. Então, nós desativamos isso. Isso nos dá um pouco de segurança Vá para as linhas

AllowTcpForwarding yes
X11Forwarding yes

e substitua-os por

AllowTcpForwarding no
X11Forwarding no

Podemos permitir explicitamente determinados usuários e impedir que determinados usuários efetuem login. Para isso, temos que colocar as seguintes linhas na parte inferior do arquivo de configuração.

AllowUsers Fred Wilma
DenyUsers Dino Pebbles

Para um ótimo desempenho do laptop, permitimos duas conexões pendentes. Entre o terceiro e décima conexão o sistema irá começar a soltar aleatoriamente conexões de 30% até 100% na décima conexão simultânea. Isso pode ser feito pela seguinte linha

MaxStartups 2:30:10

Para registrar mais erros e outras informações úteis nós alteramos a linha

LogLevel INFO

em

LogLevel VERBOSE

Para assustar invasores novatos, podemos exibir um banner Nós removemos a tag hash da frente da linha

#Banner /etc/issue.net

para fazer isso

Banner /etc/issue.net

Em seguida, vamos para o terminal e digite:

sudo -H gedit /etc/issue.net

Em seguida, adicione o aviso:

***************************************************************************
                            NOTICE TO USERS
This computer system is the private property of its owner, whether
individual, corporate or government.  It is for authorized use only.
Users (authorized or unauthorized) have no explicit or implicit
expectation of privacy.
Any or all uses of this system and all files on this system may be
intercepted, monitored, recorded, copied, audited, inspected, and
disclosed to your employer, to authorized site, government, and law
enforcement personnel, as well as authorized officials of government
agencies, both domestic and foreign.
By using this system, the user consents to such interception, monitoring,
recording, copying, auditing, inspection, and disclosure at the
discretion of such personnel or officials.  Unauthorized or improper use
of this system may result in civil and criminal penalties and
administrative or disciplinary action, as appropriate. By continuing to
use this system you indicate your awareness of and consent to these terms
and conditions of use. LOG OFF IMMEDIATELY if you do not agree to the
conditions stated in this warning.
****************************************************************************

Se um endereço IP tentar se conectar mais de 10 vezes em 30 segundos, todas as tentativas a seguir falharão, pois as conexões serão DROPADAS. A regra é adicionada ao firewall executando um único comando no terminal:

sudo ufw limit ssh

Agora salvamos e fechamos o arquivo de configuração e reiniciamos o ssh digitando no terminal:

systemctl restart ssh

Em seguida, configuramos as chaves SSH Existem dois pares de chaves SSH públicas e privadas. Chaves públicas estão presentes em servidores e chaves privadas estão presentes com os indivíduos. Se alguém puder combinar sua chave privada com chave pública, somente ele poderá entrar. Além disso, opcionalmente, chaves privadas podem ser protegidas por senha. Além disso, quando as chaves são geradas usando criptografia de 4096 bits é quase impossível quebrá-las pela força bruta.

Etapa 1: crie o par de chaves RSA :

Digite no terminal

ssh-keygen -t rsa -b 4096

Aqui usamos criptografia de 64 bits para mais segurança

Etapa dois - armazenar as chaves e a frase secreta:

Siga as instruções na tela, forneça o local desejado para o armazenamento de chaves, recomendado para aceitar o padrão, optar pela frase secreta, dar uma senha strong, lembre-se disso.

A tela é algo assim:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Etapa três - copiar a chave pública:

Digite no terminal

ssh-copy-id [email protected]

Aqui 123.45.56.78 é o endereço IP do servidor

No caso de localhost, é

ssh-copy-id user@localmachinename

A tela é algo parecido com isto

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Agora nossa instalação está completa. Para fazer login, precisamos digitar o terminal:

ssh username@servername

Então, quando a senha for solicitada, precisamos fornecê-la.

Agora, habilitamos o login root do servidor opessh. Primeiro, temos que habilitar a senha sudo, pois ela está desabilitada no Ubuntu por padrão.

Para isso, digitamos no terminal o seguinte, a tela será algo assim:

sudo passwd
[sudo] password for [username]: [Type your user password and press return]
Type new UNIX password: [Type the root password you want]
Retype new UNIX password: [Retype the root password you chosen before]
passwd: password updated successfully

Agora temos que editar o arquivo / etc / sudoers.

Aqui usamos o editor chamado visudo É porque visudo é para o único propósito de editar o arquivo sudoes

No Ubuntu, por padrão, os arquivos de configuração são abertos pelo editor nano Para alterá-lo, digite terminal:

sudo update-alternatives --config editor

A tela a seguir será exibida:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press  to keep the current choice[*], or type selection number:

Digite 3 e pressione enter

Em seguida, digite:

sudo visudo

Mova para a linha que diz

Defaults    env_reset

Pressione enter

Acima de uma nova linha é criada Tipo:

Defaults    rootpw

use barra de espaço , não TAB

Pressione Esc - > : + x - > Digite

No tipo de terminal:

gedit /etc/ssh/sshd_config

Mover para a linha:

PermitRootLogin password-prohibited

e mude para

PermitRootLogin yes

Salvar e fechar

Em seguida, reinicie o SSH

service ssh restart

Em seguida, digite terminal:

ssh-copy-id root@localmachinename

A tela de saída pode mostrar:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.


Now we have granted private key access to root to login
To test type:
ssh root@localmachine

Ele pedirá a frase secreta. A frase secreta permanece a mesma. Dê. Agora a raiz será capaz de logar com sucesso

Agora, para mais segurança, precisamos adicionar firewall Tipo:

app install ufw

Agora inicie-o

enable ufw

Obtenha uma lista de processos atualmente em execução

ufw app list

O OpenSSH será listado lá. Agora através do firewall

ufw allow OpenSSH

Reinicie o firewall

systemctl restart ufw

Nossa instalação está completa

    
por rancho 07.06.2016 / 22:29