Pré -requisitos:
Antes de iniciar as etapas deste tutorial, as etapas a seguir serão necessárias para concluir.
Ative o serviço SSH no Ubuntu se não estiver ativado antes.
Gere os pares de chaves ssh para executar os comandos no servidor remoto. Execute o seguinte comando para criar a chave pública e a chave privada. A chave privada será armazenada no servidor remoto e as chaves públicas serão armazenadas no cliente com segurança.
$ ssh -keygen -t rsa
Execute o seguinte comando para abrir o sshd_config Arquivo usando o Nano Editor para adicionar algumas configurações necessárias.
$ sudo nano/etc/ssh/sshd_config
Adicione as seguintes linhas no arquivo para ativar o login root e a autenticação baseada em senha.
PasswordAuthentication Sim
Permitrootlogina sim
Execute o seguinte comando para reiniciar o serviço SSH.
$ sudo serviço ssh reinicialização
Sintaxe:
Duas sintaxes diferentes do ssh-agent deram. O significado das opções usadas com este comando é descrito na próxima parte deste tutorial.
ssh-agent [-c | -s] [-dd] [-a bind_address] [-e impressão digital_hash] [-t vida] [comando [arg…]]
ssh-agent [-c | -s] -k
Diferentes opções de ssh-agent:
O comando ssh-agent tem muitas opções. Os usos das opções são fornecidos abaixo.
Opção | Propósito |
-um bind_address | É usado para vincular o soquete do domínio UNIX ao caminho do arquivo fornecido com força em vez de usar o soquete padrão. |
-c | É usado para gerar os comandos C-shell no stdout. O shell é detectado automaticamente por padrão. |
-d | É usado para ativar o modo de depuração. |
-E impressão digital_hash | É usado para definir o algoritmo usado para gerar as principais impressões digitais do SSH. MD5 e SHA256 são os valores válidos. |
-k | É usado para matar o agente atualmente em execução. |
-s | É usado para gerar os comandos de shell bourne (/bin/sh) no stdout com força. O shell é detectado automaticamente por padrão. |
-t vida | É usado para definir o número máximo de segundos usados para manter a identidade do agente. O valor desta opção define em segundos, mas pode ser definido por diferentes sufixos, como M por minutos, H por horas, D por dias e W por semanas. Se essa opção não for usada, o agente manterá as chaves na memória enquanto executar. Este valor será substituído quando o comando ssh-add for executado. |
O uso da opção -t foi mostrado aqui. Execute o seguinte comando para manter a identidade dos agentes por 60 segundos.
$ ssh -agent -t 60
A saída a seguir será apareceu após a execução do comando acima.
Usando o comando ssh-agente para autenticação não interativa:
Execute o seguinte comando da máquina do servidor para iniciar o ssh-agente para autenticação não interativa.
$ EVAL $ (SSH-AGENT)
A saída a seguir será apareceu após a execução do comando acima. ssh-agent está funcionando agora. Aqui, o nome de usuário da máquina do servidor é 'Fahmida.'
Use ssh-add para adicionar a senha de chave privada ao ssh-agent:
o ssh-add O comando exigirá o fornecimento da senha para as chaves privadas ssh. Agora, faça login na máquina cliente e execute o ssh-add comando do terminal.
$ ssh-add
Depois de adicionar a chave privada ao SSH-Agent, diferentes tipos de comandos SSH, como SCP, SFTP, SSH, etc., pode ser executado a partir da máquina cliente.
Copie o arquivo do cliente para o servidor:
O SCP comando para copiar o arquivo do cliente para o servidor e ssh O comando para se conectar com o servidor para verificar o arquivo é copiado ou não é mostrado nesta parte do tutorial. Crie um arquivo de texto chamado TestFile.TXT com o seguinte conteúdo.
TestFile.TXT
É um arquivo de teste criado na máquina cliente.
Execute o seguinte comando para verificar o conteúdo do TestFile.TXT arquivo antes de executar o 'SCP' comando.
$ CAT TestFile.TXT
A saída a seguir será apareceu após a execução do comando acima.
Execute o seguinte comando para copiar o TestFile.TXT arquivo da máquina cliente para o Documentos Pasta da máquina do servidor.
$ scp testfile.txt fahmida@fahmida-virtualbox: ~/documents/
A saída a seguir será exibida após a execução do comando acima se o arquivo for copiado com sucesso para o local do servidor. Aqui, o nome de usuário da máquina do servidor é 'Fahmida,' e o nome de usuário da máquina cliente é 'Yasmin.
Execute o seguinte comando para estabelecer uma conexão com o servidor usando ssh comando.
$ ssh fahmida@fahmida-virtualbox
Execute o seguinte comando para ir para o Documentos Pasta da máquina do servidor para verificar se o arquivo de texto foi copiado aqui ou não.
$ CD documentos
Execute o seguinte comando para verificar a lista dos arquivos e pastas do Documentos pasta.
$ ls
[[
A saída a seguir mostra que o arquivo de texto existe no Documentos Pasta da máquina do servidor.
Agora, execute o seguinte comando para verificar o conteúdo do arquivo de testes.Arquivo TXT da máquina do servidor.
$ CAT TestFile.TXT
A saída a seguir mostra que o conteúdo do arquivo de testes.txt da máquina do servidor é o mesmo que o conteúdo do arquivo de texto.txt da máquina cliente.
Remova todas as chaves privadas do SSH-Agent em cache:
Execute o seguinte comando ssh-add com a opção -d para remover todas as teclas privadas do ssh-agent em cache.
$ ssh -add -d
A saída a seguir será apareceu após a execução do comando acima.
Conclusão:
Usando ssh-agent é uma maneira de se conectar com a máquina remota da máquina cliente para realizar tarefas diferentes. Qualquer arquivo pode ser copiado da máquina cliente para a máquina do servidor executando um agente SSH mostrado neste tutorial para ajudar o leitor a saber o uso deste comando.