Servidor SSH: mudanças entre as edições
Linha 67: | Linha 67: | ||
Uma '''chave de autenticação pública RSA''' é gerada utilizando a seguinte sequência de comandos <ref>ALENCAR, M. SSH com chave de autenticação pública, 2011. http://www.vivaolinux.com.br/dica/SSH-com-chave-de-autenticacao-publica </ref>: | Uma '''chave de autenticação pública RSA''' é gerada utilizando a seguinte sequência de comandos <ref>ALENCAR, M. SSH com chave de autenticação pública, 2011. http://www.vivaolinux.com.br/dica/SSH-com-chave-de-autenticacao-publica </ref>: | ||
====Passo 1==== | |||
Gerar a chave de autenticação pública no cliente com o comando '''ssh-keygen''', utilizando a conta de usuário que será utilizada para acessar o servidor remoto: | |||
ssh-keygen -t rsa | ssh-keygen -t rsa | ||
:*Deixe todos o campo de senha em branco e pressione apenas 'ENTER' até que volte ao terminal. | :*Deixe todos o campo de senha em branco e pressione apenas 'ENTER' até que volte ao terminal. | ||
:*Este comando vai gerar os arquivos '''id_rsa''' (certificado de autenticação) e '''id_rsa.pub''' (chave de autenticação pública) no diretório '''~/.ssh/'''. | :*Este comando vai gerar os arquivos '''id_rsa''' (certificado de autenticação) e '''id_rsa.pub''' (chave de autenticação pública) no diretório '''~/.ssh/'''. | ||
====Passo 2==== | |||
Copiar a chave de autenticação pública para o servidor, o que pode ser feito com o comando '''ssh-copy-ip''': | |||
ssh-copy-id -i ~/.ssh/id_rsa.pub user@endereçoIPservidor | ssh-copy-id -i ~/.ssh/id_rsa.pub user@endereçoIPservidor | ||
:*O comando '''ssh-copy-ip''' inclui a chave pública '''id_rsa.pub''' dentro do arquivo de chaves autorizadas ('''./ssh/authorized_keys''') no servidor. | :*O comando '''ssh-copy-ip''' inclui a chave pública '''id_rsa.pub''' dentro do arquivo de chaves autorizadas ('''./ssh/authorized_keys''') no servidor. | ||
:*Com isto, o cliente passa a ter acesso ao servidor remoto sem a necessidade de digitar a senha. | :*Com isto, o cliente passa a ter acesso ao servidor remoto sem a necessidade de digitar a senha. | ||
====Teste do funcionamento==== | |||
scp arquivo user@endereçoIPservidor | Transferir um arquivo do cliente ao servidor usando o comando scp: | ||
scp arquivo user@endereçoIPservidor:. | |||
==Referências== | ==Referências== |
Edição das 22h22min de 16 de novembro de 2015
Servidor Remoto SSH
Um servidor pode ser acessado remotamente através da aplicação de acesso remoto SSH (Secure Shell).
A aplicação de SSH é uma aplicação cliente/servidor, na qual um programa cliente, através de um terminal, poderá fazer um login remoto no servidor.
O programa do lado cliente é diferente do programa do lado servidor, pois no servidor a aplicação de acesso remoto deve estar ativa e aguardando conexões por parte dos clientes.
O SSH possibilita acesso remoto seguro, através do uso de criptografia na conexão entre o cliente e o servidor.
O cliente e o servidor SSH se comunicam utilizando como camada de transporte o protocolo TCP e o servidor fica aguardando por pedidos de conexão na porta 22.
- Instalação do servidor SSH
Para instalar o servidor SSH, digite:
sudo apt-get install openssh-server
Para verificar se o serviço de acesso remoto com SSH está ativo, digite:
ps -aux|grep ssh
- Se o serviço estiver ativo, o processo sshd deve estar na lista dos processos rodando.
- Testar o acesso remoto ao servidor SSH
Em outra máquina, que pode ser a máquina hospedeira da máquina virtual, fazer acesso remoto ao servidor, por exemplo:
ssh user@endereçoIP
- onde user é o nome de login do usuário e endereçoIP é o endereço IP do servidor.
Para testar o servidor, execute comandos de arquivo e navegue na estrutura de diretórios do servidor, usando comandos como:
ls cd
Cópia remota com servidor SSH (scp — secure copy)
Com o acesso remoto via SSH ao servidor, é possível ao cliente copiar arquivos do cliente para o servidor, e vice-versa:
- Cópia de arquivos do cliente para o servidor, por exemplo:
scp arquivo user@endereçoIP:.
- Obs: No exemplo acima pode-se especificar um caminho para o arquivo. O "." indica que o arquivo será copiado para o diretório /home do usuário.
- Cópia de arquivos do servidor para o cliente, por exemplo:
scp user@endereçoIP:/caminho/arquivo .
- Obs: No exemplo acima o arquivo será copiado diretamente do diretório /caminho (usar preferencialmente caminho absoluto). O "." indica que o arquivo será copiado no diretório corrente do terminal do cliente.
Executar aplicativos gráficos via SSH
É possível executar aplicativos gráficos via SSH fazendo alguns ajustes no servidor:
vim /etc/ssh/sshd_config
- Altere as linhas no arquivo sshd_config:
Protocol 2 PermitRootLogin without-password X11Forwarding yes
- Reinicie o serviço:
/etc/init.d/ssh restart
- Conecte-se ao servidor via SSH usando:
ssh -X -C user@endereçoIPserver
- Chame o aplicativo normalmente.
SSH com chave de autenticação pública
Um servidor SSH pode ser acessado sem que seja necessário digitar uma senha na hora do acesso. Para tal é necessário o uso de chaves de autenticação pública.
O acesso ao servidor com chave de autenticação pública é útil, por exemplo, quando queremos que um script transfira dados entre um computador e outro para realizar backup usando um servidor remoto.
Geração de chaves de autenticação pública
As chaves de autenticação pública utilizam diferentes algoritmos para encriptar suas chaves, como o RSA1, RSA, DSA ou ECDSA. Dentre estes, o RSA (Rivest-Shamir-Adleman) é o algoritmo recomendado para servidores SSH, considerado o mais seguro e também o mais utilizado hoje em dia, possibilitando autenticar e transmitir dados criptografados até o seu destino.
Uma chave de autenticação pública RSA é gerada utilizando a seguinte sequência de comandos [1]:
Passo 1
Gerar a chave de autenticação pública no cliente com o comando ssh-keygen, utilizando a conta de usuário que será utilizada para acessar o servidor remoto:
ssh-keygen -t rsa
- Deixe todos o campo de senha em branco e pressione apenas 'ENTER' até que volte ao terminal.
- Este comando vai gerar os arquivos id_rsa (certificado de autenticação) e id_rsa.pub (chave de autenticação pública) no diretório ~/.ssh/.
Passo 2
Copiar a chave de autenticação pública para o servidor, o que pode ser feito com o comando ssh-copy-ip:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@endereçoIPservidor
- O comando ssh-copy-ip inclui a chave pública id_rsa.pub dentro do arquivo de chaves autorizadas (./ssh/authorized_keys) no servidor.
- Com isto, o cliente passa a ter acesso ao servidor remoto sem a necessidade de digitar a senha.
Teste do funcionamento
Transferir um arquivo do cliente ao servidor usando o comando scp:
scp arquivo user@endereçoIPservidor:.
Referências
- ↑ ALENCAR, M. SSH com chave de autenticação pública, 2011. http://www.vivaolinux.com.br/dica/SSH-com-chave-de-autenticacao-publica
--Evandro.cantu (discussão) 13h58min de 16 de novembro de 2015 (BRST)