
Quero instalar o servidor OpenSSH no Ubuntu. Como fazer isso?
Eu preciso fazer o seguinte:
Configurar servidor OpenSSH
Configure o par de chaves pública-privada ssh para o usuário
Desabilitar login com senha
Habilitar usuário root
Configure o par de chaves pública-privada ssh para o usuário root
Configurar senha
Responder1
Vá ao terminal e digite:
sudo su
aptitude 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á em execução.
Digite novamente 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))
Então isso 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 gedit /etc/ssh/sshd_config
Senhas fracas são fáceis de adivinhar. A prática recomendada é usar chaves SSH em vez de senha.
Portanto, desabilitamos totalmente a autenticação por senha.
Vá para a linha
#PasswordAuthentication yes
e substitua-o por
PasswordAuthentication no
A ativação do encaminhamento oferece mais opções aos invasores que já adivinharam as senhas.
Então, nós o desabilitamos. 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 negar o login de determinados usuários.
Para isso temos que colocar as seguintes linhas na parte inferior do arquivo de configuração.
AllowUsers Fred Wilma
DenyUsers Dino Pebbles
Para um desempenho ideal do laptop, permitimos duas conexões pendentes. Entre a terceira e a décima conexão o sistema começará a descartar conexões aleatoriamente 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, alteramos a linha
LogLevel INFO
em LogLevel VERBOSE
Para assustar invasores novatos, podemos exibir um banner. Removemos a hash tag do início da linha
#Banner /etc/issue.net
para fazer isso
Banner /etc/issue.net
Então vamos ao terminal e digitamos:
sudo gedit /etc/issue.net
***************************************************************************
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.
****************************************************************************
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. As chaves públicas estão presentes nos servidores e as chaves privadas estão presentes nos indivíduos. Se alguém puder combinar sua chave privada com a chave pública, somente ele poderá fazer o login. Além disso opcionalmente as chaves privadas podem ser protegidas por uma frase secreta Além disso quando as chaves são geradas usando uma encriptação de 4096 bitséquase impossível quebrá-las pela força bruta
Etapa um – 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
Passo dois - Armazene as chaves e a senha:
Siga as instruções na tela, indique o local desejado para armazenamento das chaves, recomendado aceitar o padrão, opte pela senha, forneça uma senha forte, lembre-se dela.
A tela é mais ou menos 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 |
| |
+-----------------+
Passo três – Copie 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 assim
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
para ter certeza de que não adicionamos chaves extras que você não esperava.
Agora nossa instalação está concluída. Para fazer login precisamos digitar no terminal:
ssh username@servername
Então, quando for solicitada a senha, precisamos fornecê-la.
Agora vamos habilitar o login root do servidor opessh. Primeiro temos que habilitar a senha do sudo, pois ela está desabilitada no Ubuntu por padrão.
Para isso, digitamos no terminal o seguinte, a tela ficará mais ou menos 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 o visudo tem como único propósito editar o arquivo sudoes
No Ubuntu, por padrão, os arquivos de configuração são abertos pelo editor nano
Para alterá-lo digite no terminal:
sudo update-alternatives --config editor
A seguinte tela aparecerá:
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 <enter> to keep the current choice[*], or type selection number:
Digite 3 e pressione enter
Então digite:
sudo visudo
Vá para a linha que diz
Defaults env_reset
Pressione Enter
Acima, uma nova linha é criada
Tipo:
Padrão rootpw
use barra de espaço, não TAB
Pressione Esc --> :x --> Enter
No tipo de terminal:
gedit /etc/ssh/sshd_config
Vá para a linha:
PermitRootLogin password-prohibited
e mude para
PermitRootLogin yes
Próximo passo para a linha:
PasswordAuthentication no
e mude para
PasswordAuthentication yes
Salvar e fechar
Então reinicie o SSH
service ssh restart
Agora é hora de gerar novamente o par de chaves pública-privada ssh para o usuário root.
Digite no terminal
ssh-keygen -t rsa -b 4096
Passo dois - Armazene as chaves e a senha:
Siga as instruções na tela, forneça o local desejado para armazenamento das chaves, NÃO aceite o padrão, pois desta vez você terá que criar um novo par, o padrão já foi criado, opte pela senha, forneça uma senha forte, lembre-se dela.
A tela é mais ou menos assim:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): u-root-id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/demo/.ssh/u-root-id_rsa.
Your public key has been saved in /home/demo/.ssh/u-root-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 |
| |
+-----------------+
Então digite no terminal:
ssh-copy-id -i u-root-id_rsa.pub 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:
Agora tente fazer login na máquina, com "ssh '[e-mail protegido]'", e faça check-in:
~/.ssh/authorized_keys
para ter certeza de que não adicionamos chaves extras que você não esperava.
Agora concedemos acesso de chave privada ao root para fazer login
Para testar digite:
ssh root@localmachine
Novamente no tipo de terminal:
gedit /etc/ssh/sshd_config
vá para a linha:
PasswordAuthentication yes
e mude para
PasswordAuthentication no
Salvar e fechar
Então reinicie o SSH
service ssh restart
Ele solicitará a senha. A senha permanece a mesma. Dê.
Agora o root poderá fazer login com sucesso
Agora, para mais segurança, temos que adicionar firewall
Tipo:
apt install ufw
Agora comece
enable ufw
Obtenha uma lista dos processos atualmente em execução
ufw app list
OpenSSH será listado lá.
ALow it through firewall
ufw allow OpenSSH
Reinicie o firewall
systemctl restart ufw
Nossa instalação está concluída