O protocolo Secure Shell é uma maneira comum de se conectar a uma máquina remota por meio de aplicativos cliente / servidor. Ele faz uso de um conjunto de ferramentas como ssh, scp e sftp, entre muitos outros, para garantir um processo de autenticação seguro e comunicação criptografada que se segue. Devido a isso, essas ferramentas substituem outros conjuntos de ferramentas de execução de comando remoto mais antigos, como telnet, rcp e rlogin.
Neste guia, você aprenderá como instalar e habilitar serviços de servidor / cliente OpenSSH em sua máquina. Ele também cobre todos os comandos necessários (ferramentas SSH) para acessar e gerenciar sistemas remotamente e transferir arquivos entre eles.
Primeiros passos com SSH
Por padrão, a maioria dos sistemas Linux incluem o cliente ssh e aplicativos de servidor. Os pacotes que incluem ferramentas ssh nas distribuições RHEL e Fedora são openssh, openssh-server e openssh-client. Use o grep comando para buscar ferramentas ssh da lista instalada:
yum list instalado | grep openssh
Enquanto o Ubuntu inclui apenas um pacote do cliente openssh, ele também contém um pacote openssh. Use o comando grep para listar pacotes openssh no Ubuntu, da seguinte maneira:
sudo dpkg --list | grep openssh
sudo apt-get install servidor openssh
Iniciar / ativar serviço SSH
O gerenciamento do serviço openssh pode variar de distribuição para distribuição e, independentemente das configurações padrão, ele não inicia automaticamente. Use o seguinte conjunto de comandos para garantir que o serviço esteja instalado e funcionando em sua máquina Linux:
systemctl status sshd.service #para Fedora e RHEL
systemctl status ssh #para Ubuntu
Se não estiver em execução, verifique o status do serviço da seguinte maneira:
systemctl start sshd.service #para Fedora e RHEL
systemctl ssh start #for Ubuntu
Para iniciar o openssh-server assim que o sistema inicializar:
systemctl enable sshd.service
systemctl ssh enable
Entre muitas outras ferramentas para utilizar Protocolo SSH para acesso remoto ao sistema Linux, os mais frequentemente usados são o comando ssh para código remoto execução e login, onde scp e rsync são úteis para copiar um ou mais arquivos entre o cliente e servidor.
A seção cobre detalhes detalhados dos comandos discutidos acima para gerenciamento remoto eficiente.
Login Remoto
SSH é o comando que você usará com mais frequência para a configuração remota de seu servidor Linux executando o serviço sshd. Use o comando ssh para verificar se você pode fazer login no servidor Linux para execução do comando.
Você pode usar outra máquina Linux para fazer login no seu servidor ou pode ter uma ideia simulando-o em seu localhost do seguinte modo:
Para login remoto em uma conta Ubuntu em X.X.X.X (onde X.X.X.X é o endereço IP do dispositivo remoto):
ssh [email protected]
Para login remoto como um usuário local:
ssh localhost
Se você estiver fazendo login pela primeira vez no servidor remoto, ele solicitará a confirmação para conectar-se ao sistema, digite sim e digite a senha da conta do usuário.
Após o registro, você pode continuar com a execução do comando remoto, pois é semelhante ao login normal, com a única diferença sendo que a comunicação remota é criptografada.
Uma vez feito isso, digite o saída comando para encerrar a sessão e retornar ao seu sistema local. Se não conseguir fechar o shell remoto, o ~. as chaves também realizam uma tarefa semelhante e geram 'Conexão com X.X.X.X fechada'.
Execução Remota
O comando ssh permite a execução de comandos no sistema remoto e retorna a saída na máquina local. Por exemplo,
O seguinte comando é executado como o usuário ubuntu no servidor remoto e retorna o nome de anfitrião:
ssh [email protected] hostname
Para executar um comando que inclui opções ou sinalizadores, coloque-o entre aspas duplas da seguinte maneira:
ssh [email protected] "cat / tmp / new_file"
O comando acima retorna o conteúdo do arquivo acima em sua tela local.
Você também pode executar vários comandos sem se reconectar a cada vez, habilitando o encaminhamento do X11 em seu servidor. Abra o sshd_config arquivo dentro /etc/ssh diretório e conjunto Encaminhamento X11 para sim do seguinte modo:
Agora execute os comandos da seguinte maneira:
ssh -X [email protected] hostname & cat / tmp / new_file / & exit
Cópia de arquivo via scp e rsync
O scp comando permite transferir / copiar arquivos do sistema remoto para o local e vice-versa. Sua funcionalidade é semelhante ao comando rcp, mas com comunicação criptografada RSA. Seguem alguns exemplos.
Copie o Arquivo de /etc/demo diretório da máquina remota para o seu /tmp pasta da seguinte forma:
scp [email protected]: / home / ubuntu / demo / file / tmp
Isso também permite a cópia recursiva, o que significa que você pode fornecer ao comando um diretório, e ele copia todos os arquivos / pastas na hierarquia para outro diretório local.
scp -r localhost: / home / ubuntu / / tmp
Você também pode usar o comando scp para backup de arquivos e diretórios, mas rsync é um utilitário de backup melhor por vários motivos:
- O scp não consegue reter permissões de arquivo / diretório e hora / data.
- Também não é capaz de identificar arquivos e diretórios já copiados.
Agora liste o conteúdo dos diretórios acima para visualizar as permissões do arquivo e a hora de criação, da seguinte maneira:
ls -l / etc / demo / tmp / demo
Repita o comando scp acima e liste novamente os diretórios para verificar se ele substitui o arquivo / diretórios já copiados de seu carimbo de data / hora:
Relacionado:Copie arquivos com segurança no Linux com o comando Scp
O -p bandeira pois o comando scp pode ajudar a preservar o carimbo de data / hora ou as permissões de gravação, mas ainda substitui os arquivos já copiados. Para superar essas deficiências, use o rsync como ferramenta de backup. Exclua os arquivos primeiro no /tmp diretório para continuar com o exemplo abaixo. Use o comando rsync com o -uma sinalizar para arquivamento recursivo e o -v opção de verbose para copiar o /home/ubuntu/demo arquivos para o /tmp diretório, da seguinte forma:
rsync -av [email protected]: / home / ubuntu / demo / tmp
Listar o /tmp para observar como ele preserva o tempo de criação do arquivo ou diretório.
Por último, execute novamente o rsync comando para verificar se ele não copia nenhum arquivo.
Conhecendo SSH
O artigo é um guia para o protocolo mais amplamente usado para gerenciamento remoto de servidores Linux. Mostramos como usar os comandos SSH mais importantes com algumas dicas e truques para facilitar a tarefa de cópia e gerenciamento de arquivos.
Começar a entender os comandos / ferramentas SSH e sua funcionalidade pode mudar sua visão do gerenciamento do sistema / servidor, pois desbloqueia os recursos não apenas do SSH, mas também do terminal Linux. É uma ferramenta poderosa que oferece segurança considerável, junto com outras funcionalidades avançadas demais para serem abordadas em um único guia.
Aprenda a economizar tempo gerenciando servidores remotos com esses comandos SSH e Linux.
Leia a seguir
- Linux
- SSH
- Acesso remoto
Rumaisa é redatora freelance da MUO. Ela percorreu um longo caminho, de Matemática a entusiasta de Segurança da Informação, e está trabalhando como Analista de SOC. Seus interesses incluem ler e escrever sobre novas tecnologias, distribuições Linux e qualquer coisa relacionada à Segurança da Informação.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Clique aqui para se inscrever