Esta seção explicará o uso dos utilitários ssh, scp e sftp.
Esta é a ferramenta usada para seções de console remotos. O arquivo de
configuração de usuários é ~/.ssh/config
e o arquivo
global /etc/ssh/ssh_config
. Para conectar a um servidor
ssh remoto:
ssh usuario@ip/nome_do_servidor_ssh
Caso o nome do usuário seja omitido, seu login atual do sistema será usado. O uso da opção -C é recomendado para ativar o modo de compactação dos dados (útil em conexões lentas). A opção -l usuário pode ser usada para alterar a identificação de usuário (quando não é usada, o login local é usado como nome de usuário remoto). Uma porta alternativa pode ser especificada usando a opção -p porta (a 22 é usada por padrão).
Na primeira conexão, a chave pública do servidor remoto será gravada em
~/.ssh/know_hosts
ou
~/.ssh/know_hosts2
(dependendo da versão do servidor
ssh remoto, veja “Diferenças nas versões do protocolo”),
e verificada a cada conexão como checagem de segurança para se certificar que o
servidor não foi alvo de qualquer ataque ou modificação não autorizada das
chaves. Por padrão, o cliente utilizará o protocolo ssh versão 1, a opção
-2 permite usar o protocolo versão 2.
Variáveis de ambiente personalizadas para o ssh poderão ser
definidas no arquivo ~/.ssh/environment
. Comandos que
serão executados somente na conexão ssh em ~/.ssh/rc
e
/etc/ssh/sshrc
caso contrário será executado o
xauth por padrão.
OBS: Para utilizar autenticação
Rhosts/Rhosts+RSA (arquivos
~/.rhosts
/~/.shosts
) o programa
ssh deverá ter permissões SUID root e conectará usando
portas baixas (menores que 1024).
Exemplos: # Conecta-se ao servidor remoto usando o login do usuário atual ssh ftp.sshserver.org # Conecta-se ao servidor remoto usando o login john (via ssh versão 2) ssh -2 ftp.sshserver.org -l john # Conecta-se ao servidor remoto usando compactação e o login john ssh ftp.sshserver.org -C -l john # Semelhante ao exemplo acima, usando o formato "login@ip" ssh john@ftp.sshserver.org -C # Conecta-se ao servidor remoto usando compactação, o login john, # ativa o redirecionamento do agente de autenticação (-A) e redirecionamento # de conexões X11 (-X). Veja a próxima seção para entender como o # suporte a redirecionamento de conexões do X funciona. ssh ftp.sshserver.org -C -A -X -l john
O redirecionamento de conexões do X Window poderá ser habilitado em
~/.ssh/config
ou /etc/ssh/ssh_config
ou usando as opções -A -X na linha de comando do
ssh (as opções -a e
-x desativam as opções acima respectivamente). Uma
variável $DISPLAY
é criada automaticamente para
fazer o redirecionamento ao servidor X local.
Ao executar um aplicativo remoto, a conexão é redirecionada a um DISPLAY proxy
criado pelo ssh (a partir de :10
, por padrão) que faz a
conexão com o display real do X (:0), ou seja, ele pulará os métodos de
autenticação xhost e cookies. Por medidas de segurança é
recomendável habilitar o redirecionamento individualmente somente se você
confia no administrador do sistema remoto.
# Exemplo de configuração do ssh_config # Permite Redirecionamento de conexões para o próprio computador (nomes de # máquinas podem ser especificadas). Host 127.0.0.1 ForwardAgent yes ForwardX11 yes # Opções específicas do cliente para conexões realizadas a 192.168.1.4 usando # somente o protocolo 2 Host 192.168.1.4 # As 2 linhas abaixo ativam o redirecionamento de conexões do X ForwardAgent yes ForwardX11 yes PasswordAuthentication yes Port 22 Protocol 2 Cipher blowfish # Opções específicas do cliente para conexões realizadas a 192.168.1.5 usando # somente o protocolo 1 Host 192.168.1.5 # As 2 linhas abaixo desativam o redirecionamento de conexões do X ForwardAgent no ForwardX11 no PasswordAuthentication yes Port 22 Protocol 1 Cipher blowfish # CheckHostIP yes # RhostsAuthentication no # RhostsRSAAuthentication yes # RSAAuthentication yes # FallBackToRsh no # UseRsh no # BatchMode no # StrictHostKeyChecking yes # IdentityFile ~/.ssh/identity # IdentityFile ~/.ssh/id_dsa # IdentityFile ~/.ssh/id_rsa1 # IdentityFile ~/.ssh/id_rsa2 # EscapeChar ~
O putty é um cliente ssh Win32 que possui suporte aos protocolos versão 1 e 2 do ssh, aceita compactação além de funcionar também como cliente telnet. Seu tamanho é pequeno, apenas um executável e requer 220KB de espaço em disco. Ele pode ser baixado de http://www.chiark.greenend.org.uk/~sgtatham/putty/.
Outra alternativa é o MindTerm, este é baseado em Java e pode inclusive ser executado como um applet em uma página web. Este programa é encontrado em http://www.mindbright.se/mindterm/.
Permite a cópia de arquivos entre o cliente/servidor ssh. A sintaxe usada por este comando é a seguinte:
scp [origem]
[destino]
Os parâmetros de origem e destino são semelhantes ao do comando cp mas possui um formato especial quando é especificado uma máquina remota:
Um caminho padrão
- Quando for especificado um arquivo
local. Por exemplo: /usr/src/arquivo.tar.gz
.
usuario@host_remoto:/diretório/arquivo
- Quando desejar
copiar o arquivo de/para um servidor remoto usando sua conta de usuário. Por
exemplo: gleydson@ftp.debian.org:~/arqs
.
A opção -C é recomendável para aumentar a taxa de transferência de dados usando compactação. Caso a porta remota do servidor sshd seja diferente de 22, a opção -P porta deverá ser especificada (é "P" maiúscula mesmo, pois a -p é usada para preservar permissões/data/horas dos arquivos transferidos).
Exemplos: # Para copiar um arquivo local chamado /pub/teste/script.sh para # meu diretório pessoal em ftp.sshserver.org scp -C /pub/teste/script.sh gleydson@ftp.sshserver.org:~/ # Para fazer a operação inversa a acima (copiando do servidor remoto para o local) # é só inverter os parâmetros origem/destino: scp -C gleydson@ftp.sshserver.org:~/script.sh /pub/teste # Para copiar o arquivo local chamado /pub/teste/script.sh para # o diretório /scripts dentro do meu diretório pessoal em ftp.sshserver.org # com o nome teste.sh scp -C /pub/teste/script.sh gleydson@ftp.sshserver.org:~/scripts/teste.sh # O exemplo abaixo faz a transferência de arquivos entre 2 computadores remotos: # O arquivo teste.sh é lido do servidor server1.ssh.org e copiado para # server2.ssh.org (ambos usando o login gleydson) scp -C gleydson@server1.ssh.org:~/teste.sh gleydson@server2.ssh.org:~/
O pscp faz a tarefa equivalente ao scp no windows, e pode ser baixado de http://www.chiark.greenend.org.uk/~sgtatham/putty/.
Permite realizar transferência de arquivos seguras através do protocolo ssh. A conexão e transferências são realizadas através da porta 22 (ainda não é possível modificar a porta padrão). A sintaxe para uso deste comando é a seguinte:
sftp usuario@host_remoto
Compactação pode ser especificada através da opção -C. Um arquivo contendo os comandos usados na seção sftp poderá se especificado através da opção -b arquivo para automatizar tarefas.
OBS1: Para desativar o servidor
sftp, remova a linha SubSystem sftp
/usr/lib/sftp-server
(que inicializa o sub-sistema ftp) do arquivo
/etc/ssh/sshd_config
e reinicie o servidor
sshd.
OBS2: O suporte ao programa sftp somente está disponível ao protocolo ssh versão 2 e superiores.
OBS3: Algumas opções comuns do cliente ftp padrão (como mget) ainda não estão disponíveis ao sftp. Veja a página de manual para detalhe sobre as opções disponíveis.
Copyright © 1999-2020 - Gleydson Mazioli da Silva