Seu guia para usar SSH



Experimente Nosso Instrumento Para Eliminar Problemas

SSH é um protocolo de rede que funciona em um console. O cliente SSH mais comumente usado é o PuTTy. A imagem abaixo mostra uma sessão SSH estabelecida. É fácil de usar e rápido. A maioria dos profissionais de TI gerencia toda a rede exclusivamente via SSH por causa da segurança e do acesso rápido / fácil para realizar tarefas administrativas e de gerenciamento no servidor. Toda a sessão em SSH é criptografada - Os principais protocolos para SSH são SSH1 / SSH-1 e SSH2 / SSH-2. SSH-2 é o último, mais seguro que SSH-1. Um sistema operacional Linux tem um utilitário integrado chamado Terminal para acessar o console e uma máquina Windows requer um cliente SSH (por exemplo, PuTTy).



massa



Acessando um host remoto usando SSH



Para acessar um host / máquina remota usando SSH, você precisará ter o seguinte:

para) PuTTy (cliente SSH gratuito)
b) Nome de usuário do servidor SSH
c) Senha do servidor SSH
d) Porta SSH que geralmente é 22, mas como 22 é o padrão, ele deve ser alterado para uma porta diferente para evitar ataques a esta porta.

Em uma máquina Linux, o nome de usuário root é o administrador por padrão e contém todos os direitos administrativos.

No Terminal, o seguinte comando iniciará uma conexão com o servidor.

ssh root@192.168.1.1
onde, root é o nome de usuário e 192.168.1.1 é o endereço do host

Esta é a aparência do terminal:

terminal

Seus comandos serão digitados após o símbolo $ . Para obter ajuda com qualquer comando em terminal / putty, use a sintaxe:

homem ssh
comando do homem

homem, seguido por qualquer comando retornará a orientação do comando na tela

Então, o que vou fazer agora é SSH usando PuTTy em meu sistema operacional Debian rodando em VMWare.

Mas antes de fazer isso, preciso habilitar o SSH fazendo login no meu VM Debian - se você acabou de comprar um servidor de uma empresa de hospedagem, pode solicitar que habilitem o SSH para você.

Para habilitar o ssh, use
sudo /etc/init.d/ssh restart

Como estou usando o Ubuntu e o ssh não foi instalado,
Para instalar o ssh use estes comandos
sudo apt-get install openssh-client
sudo apt-get install servidor openssh

E aqui está o que eu tenho, conectado ao SSH via PuTTy:

ssh

Isso é o que é necessário para configurar o SSH e estabelecer uma sessão via PuTTy - a seguir, irei abordar alguns recursos básicos avançados que começarão aos poucos para dar a você uma visão mais ampla de todo o cenário.

O arquivo de configuração ssh padrão está localizado em: / etc / ssh / sshd_config
Para visualizar o arquivo de configuração, use: cat / etc / ssh / sshd_config
Para editar o arquivo de configuração, use: vi / etc / ssh / sshd_config ou nano / etc / ssh / sshd_config

Depois de editar qualquer arquivo, use CTRL + X e pressione a tecla Y para salvar e sair (editor nano)

A porta SSH pode ser alterada no arquivo de configuração, a porta padrão é 22. Os comandos básicos, cat, vi e nano funcionarão para outras coisas também. Para aprender mais sobre comandos especificamente, use a Pesquisa Google.

Se você fizer alguma alteração em qualquer arquivo de configuração, será necessário reiniciar o serviço. Indo além, vamos supor que agora desejamos mudar nossa porta, então o que vamos fazer é editar o arquivo sshd_config, e eu usaria

nano / etc / ssh / sshd_config

port-ssh

Você deve estar logado como administrador, ou usar sudo nano / etc / ssh / sshd_config para editar o arquivo. Depois de editado, reinicie o serviço ssh, sudo /etc/init.d/ssh restart

Se você estiver mudando uma porta, certifique-se de permitir isso em seu IPTABLES, se você estiver usando o firewall padrão.

iptables -I INPUT -p tcp –dport 5000 -j ACEITAR
/etc/rc.d/init.d/iptables save

Consulte o iptables para confirmar se a porta está aberta
iptables -nL | grep 5000

Existem várias diretivas no arquivo de configuração, conforme discutido anteriormente, existem dois protocolos para SSH (1 e 2). Se estiver definido como 1, altere-o para 2.

Abaixo está um pouco do meu arquivo de configuração:

# Arquivo de configuração gerado pelo pacote
# Veja a página de manual sshd_config (5) para detalhes

# Quais portas, IPs e protocolos ouvimos
Porta 5000 substituiu o número 22 pela porta
# Use essas opções para restringir quais interfaces / protocolos sshd se ligará
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocolo 2 substituiu o protocolo 1 por 2

não se esqueça de reiniciar o serviço após fazer alterações

O root é o administrador e é recomendado que ele seja desativado, caso contrário, se você estiver aberto a conexões remotas, poderá se tornar o objeto de um ataque de força bruta ou outras vulnerabilidades de SSH - servidores Linux são as caixas mais amadas pelos hackers a diretiva LoginGraceTime , configura um limite de tempo para o usuário fazer login e autenticar; se o usuário não o fizer, a conexão será encerrada - deixe isso como padrão.

# Autenticação:
LoginGraceTime 120
PermitRootLogin no
StrictModes sim

Um recurso super legal é o Autenticação de chave (PubkeyAuthentication) - Este recurso permite que você configure apenas a autenticação baseada em chave, como vemos nos servidores Amazon EC3. Você só pode acessar o servidor usando sua chave privada, é altamente seguro. Para que isso funcione, você precisará gerar um par de chaves e adicionar essa chave privada à sua máquina remota e adicionar a chave pública ao servidor para que possa ser acessado usando essa chave.

PubkeyAuthentication sim
AuthorizedKeysFile .ssh / authorized_keys
RSAAuthentication sim
PasswordAuthentication não

Isso negará qualquer senha e só permitirá o acesso dos usuários com uma chave.

Em uma rede profissional, você normalmente informaria a seus usuários o que eles têm permissão para fazer e o que não podem, e quaisquer outras informações necessárias

O arquivo de configuração a ser editado para banners é: / etc / motd
Para abrir o arquivo no editor, digite: nano / etc / motd ou sudo / etc / motd

Edite o arquivo, assim como faria no bloco de notas.

Você também pode colocar o banner em um arquivo e referenciá-lo no arquivo / etc / motd

por exemplo: nano banner.txt irá criar um arquivo banner.txt e abrir imediatamente o editor.

Edite o banner e pressione ctrl + x / y para salvá-lo. Em seguida, faça referência a ele no arquivo motd usando

Banner /home/users/appualscom/banner.txt OU qualquer que seja, o caminho do arquivo é.

Assim como o banner, você também pode adicionar uma mensagem antes do prompt de login, o arquivo para edição é / etc / issue

Tunelamento SSH

O encapsulamento SSH permite que você encapsule o tráfego de sua máquina local para uma máquina remota. Ele é criado por meio de protocolos SSH e criptografado. Confira o artigo sobre Tunelamento SSH

Sessão gráfica sobre túnel SSH

Habilite a sessão gráfica / gui removendo o comentário da seguinte linha
X11Forwarding sim

No lado do cliente, o comando seria:
ssh -X root@10.10.10.111

Você pode executar programas como o firefox, etc., usando comandos simples:
Raposa de fogo

Se você receber um erro de exibição, defina o endereço:
export DISPLAY = IPaddressofmachine: 0.0

TCP Wrappers

Se você deseja permitir hosts selecionados e negar alguns, então estes são os arquivos que você precisa editar

1 /etc/hosts.allow
2 /etc/hosts.deny

Para permitir alguns hosts

sshd: 10.10.10.111

Para impedir que qualquer pessoa faça sshing em seu servidor, adicione a seguinte linha em /etc/hosts.deny
sshd: ALL

SCP - Cópia Segura

SCP - a cópia segura é um utilitário de transferência de arquivos. Você precisará usar o seguinte comando para copiar / transferir arquivos por ssh.

comando abaixo irá copiar meuarquivo para / home / user2 em 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
sintaxe de destino de origem scp

Para copiar uma pasta
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

Pesquisando arquivos em uma máquina remota

É muito fácil pesquisar arquivos em uma máquina remota e visualizar a saída em seu sistema. Para pesquisar arquivos em uma máquina remota

ssh root@10.10.10.111 “find / home / user –name‘ * .jpg ’”

O comando pesquisará no diretório / home / user todos os arquivos * .jpg, você pode brincar com ele. find / -name pesquisará todo o diretório / root.

Segurança Adicional SSH

iptables permite que você defina limitações baseadas em tempo. Os comandos abaixo bloquearão o usuário por 120 segundos se houver falha na autenticação. Você pode usar o parâmetro / segundo / hora / minuto ou / dia no comando para especificar o período.

Limites de tempo
iptables -A INPUT -p tcp -m estado –syn –state NOVO –dport 22 -m limite –limit 120 / segundo –limit-burst 1 -j ACEITAR

iptables -A INPUT -p tcp -m state –syn –state NOVO –dport 5000 -j DROP

5000 é a porta, altere-a de acordo com suas configurações .

Permitindo autenticação de um IP específico
iptables -A INPUT -p tcp -m state –state NEW –source 10.10.10.111 –dport 22 -j ACCEPT

Outros comandos úteis

Anexe uma tela por SSH
ssh -t root@10.10.10.111 screen –r
Verificação de velocidade de transferência SSH
sim | pv | ssh $root@10.10.10.111 “cat> / dev / null”

Tag ssh Tunelamento SSH 4 minutos lidos