O melhor recurso para ajudá-lo a começar a configurar um serviço ssh em uma máquina Host usando o Ubuntu é o OpenSSH Server . Isso permitirá que você use o SSH File Transfer Protocol (também SFTP) para acessar, transferir e gerenciar arquivos sobre SSH a partir de uma máquina cliente.
Visão geral da solução
- No Ubuntu, você pode configurar uma
OpenSSH server
máquina Host e, em seguida, o usuário pode usar ssh
para se conectar do Cliente ao servidor Host usando apenas um nome de usuário e senha. Observe, no entanto, que a autenticação de chave pública é recomendada,
"Verifique se você possui uma senha forte antes de instalar um servidor SSH (convém desativar as senhas por completo )"
- As contas de usuário administrativo criadas no host terão privilégios de sudo, as contas de usuário padrão criadas no host não.
Instale e configure seu servidor OpenSSH no host
Para instalar um servidor OpenSSH no host:
sudo apt-get install openssh-server
Dê ao seu host um endereço IP estático para que você possa se conectar com segurança a ele:
nm-connection-editor
Para configurar seu servidor OpenSSH , "primeiro, faça um backup do seu arquivo sshd_config, copiando-o para o diretório pessoal ou fazendo uma cópia somente leitura em / etc / ssh, executando:"
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
"Depois de fazer backup do seu sshd_config
arquivo, você pode fazer alterações em qualquer editor de texto, por exemplo:"
sudo -H gedit /etc/ssh/sshd_config
Você deve reiniciar o serviço ssh no Host para que essas alterações entrem em vigor
sudo service ssh restart
Considere as seguintes medidas de segurança
- Não habilite o encaminhamento de porta no seu roteador: quando alguém solicita que o roteador conecte o usuário externo à porta 22, etc., seu roteador não está em conformidade, a menos que você tenha ativado o encaminhamento de porta
- Desativar login root: comentar fora
PermitRootLogin without-password
; adicionar PermitRootLogin no
ao host/etc/ssh/sshd_config
- Escolha a porta SSH não padrão: comente
Port 22
; adicionar Port <new-port-number>
ao host/etc/ssh/sshd_config
- Permitir apenas conexões locais: adicionar
ListenAddress 192.168.0.10
- Permitir que certos usuários em determinadas portas: Adicione
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
ou AllowUsers <username>@111.222.333.*
ao host/etc/ssh/sshd_config
- Permitir apenas conexões de chave RSA (sem senha): Anexe o conteúdo de
~/.ssh/id_rsa.pub
cada Cliente como uma nova linha de Host ~/.ssh/authorized_keys
. Em seguida, adicione PasswordAuthentication no
ao host/etc/ssh/sshd_config
- Lentas tentativas de invasão de invasores: use o ufw (firewall não complicado) no Host para classificar o limite de conexões de entrada para 10 / minuto:
sudo apt-get install ufw && sudo ufw limit OpenSSH
- Para obter mais idéias, consulte Mantendo o acesso SSH seguro
Se você achar que precisa, ative PasswordAuthentication
no seu sshd_config
arquivo
Encontre a linha com a frase PasswordAuthentication
e leia:
PasswordAuthentication yes
Salve seu novo sshd_config
arquivo e reinicie o ssh
serviço do Host :
sudo service ssh restart
Se você precisar acessar de qualquer lugar pela Internet, configure o Encaminhamento de porta no roteador local para direcionar o tráfego para o servidor OpenSSH
Observe que o ssh
serviço do host da porta escuta no sshd_config
arquivo e configure seu roteador para encaminhar o tráfego TCP / UDP direcionado a essa porta para o endereço IP do servidor OpenSSH.
Conecte-se ao Host e faça o login via linha de comando ou terminal
Para abrir um terminal shell SFTP como <username>
no Host, abra um Terminal no Cliente e digite o seguinte comando, substituindo 123.123.1.23
pelo endereço IP do Host:
sftp <username>@123.123.1.23
Se você alterou o número da porta que o servidor OpenSSH do Host escuta, faça:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Para abrir um terminal shell SSH como <username>
no Host, abra um Terminal no Cliente e digite o seguinte comando, substituindo 123.123.1.23
pelo endereço IP do Host:
ssh <username>@123.123.1.23
Se você alterou o número da porta que o servidor OpenSSH do Host escuta, faça:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Conecte-se ao Host e efetue login através do gerenciador de arquivos da GUI (por exemplo, Nautilus) para obter mais acesso SFTP visual para permitir transferências de arquivos
- Abra o Nautilus no cliente
- Selecione Arquivo> Conectar ao Servidor
- Tipo:
SSH
- Servidor: Digite o endereço IP do host
- Porta: número da porta especificado no
sshd_config
arquivo do host
- Nome de usuário: nome de usuário
- Senha: senha
Em 14.04:
- Abra o Nautilus no cliente
- Conecte-se ao servidor
- Digite: `ssh @ 123.123.1.23:
Crie contas de usuário padrão no host com permissões limitadas de arquivo fora de sua pasta pessoal
Permissões de arquivo adequadas no Host garantem que cada usuário padrão (sem privilégios sudo) criado no Host possua seu /home/new_user
diretório, mas tenha permissões limitadas com o restante da estrutura de diretórios.
- Permissões limitadas não necessariamente significam que eles não podem exibir nomes de arquivos e estrutura de diretórios.
Espero que seja útil!