Escolar Documentos
Profissional Documentos
Cultura Documentos
segurana, o telnet completamente inseguro, alm de fornecer diversas outras funcionalidades que o telnet no possui. Por isso, vamos disponibilizar um resumo a respeito de sua histria, e um tutorial do seu uso. O material usado uma traduo livre (com alguns muitos acrscimos) do artigo "SSH tips, tricks & protocol tutorial" publicado por Damien Miller (djm@mindrot.org)" e apresentado na site onde o artigo est esta caso algum se interesse em ver o texto original.
O que SSH?
SSH (Secure SHell) um protocolo de redes feito para substituir as ferramentas inseguras de login e execuo de comandos remotos como telnet, rlogin e rsh. Acessar um sistema atravs de algum mtodo como o telnet coloca tudo que voc enviar e receber pois os dados so enviados atravs de texto puro. E sua sesso completamente visvel para qualquer outro na sua rede e na rede da mquina que voc estiver acessando. Isso faz
com que qualquer um possa monitorar e roubar ("sniffing") qualquer dado transmitido nessa conexo, como nome de usurio, senha, emails que voc ler, comandos enviados, etc. Por essas razes, voc precisa de algum sistema mais sofisticado para realizar a conexo remota. transmisso em ambas as direes. O SSH tambm oferece vrias funcionalidades teis: Compresso: o trfego pode ser comprimido a nvel bsico. Chave pblica de autenticao: pode, opcionalmente, substituir a autenticao por senha. Autenticao do servidor: o que faz o ataque "homem-no-meio" mais difcil. Encaminhamento de portas: Sesses arbitrrias de TCP podem ser encaminhadas por uma conexo TCP. Encaminhamento X11: SSH pode encaminhar suas sesses do X11 (iniciar sesses no X via rede). Transferncia de arquivos: a famlia do protocolo SSH inclui dois protocolos exclusivos para transferncia de arquivos.
Histria
lanado sob a licena de cdigo fonte aberto. As verses seguintes foram tomando licenas mais restritas, porm elas no geral continuaram gratuitas para uso no comercial. Tatu ento formou a SSH Communications security, a qual vende verses comerciais do SSH at hoje. As verses mais antigas do cdigo implementado por ele so o que hoje chamamos de SSH verso 1.0. Internet com o apoio da IETF. O que levou a criao da verso 2 do SSH. Na reimplementao, o protocolo foi dividido numa camada de transporte, e num protocolo de conexo e autenticao. Muitas falhas de segurana foram descobertas nesse processo. Em 1999, a equipe do OpenBSD descobriu o cdigo fonte das primeiras verses do SSH (atravs do OSSH2) feitas por Tatu Ylnen. A equipe adaptou o cdigo para os padres modernos e gerou o que ficou chamado de OpenSSH. O OpenSSH foi inserido no OpenBSD 2.6 em Dezembro de 1999. OpenSSH foi expandido por Markus Friedl para prover suporte ao SSH v.2 no comeo de 2000. Aps isso, o OpenSSH se tornou, e continua a ser, a distribuio gratuita e mais popular, completa e portvel. Inclusa em muitas distribuies de sistemas operacionais. A histria completa do OpenSSh est documentada aqui (em ingls).
A sintaxe bsica para logar em um host remoto : 1 ssh hostname Se voc quiser adicionar um nome de usurio, voc precisa utilizar o formato do rlogin: 1 ssh -l user hostname Ou, numa forma mais simples: 1 ssh user@hostname Caso seu sshd(servidor ssh) esteja sendo executado numa porta diferente da padro, voc pode especificar a porta na linha de comando: 1 ssh -p 2222 user@hostname
03 @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ 04 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 05 06 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the07 middle attack)! It is also possible that the RSA host key has just been 08 changed. 09 10 The fingerprint for the RSA key sent by the remote host is 11 cd:41:70:30:48:07:16:81:e5:30:34:66:f1:56:ef:db. 12 Please contact your system administrator. 13 Add correct host key in /home/djm/.ssh/known_hosts to get rid of 14 this message. 15 Offending key in /home/djm/.ssh/known_hosts:24 RSA host key for localhost has changed and you have requested 16 strict checking. 17 18 Host key verification failed.
3 rm 4 rmail 5 rmd160 6 rmdir Neste exemplo, o comando grep executado na mquina remota. Porm, possvel obtm a mesma resposta rodando o grep na mquina local: 1 ssh root@hachi.mindrot.org "ls /bin" | grep -i rm J aqui, note que o grep est fora das aspas. Ou seja, ele executado no cliente. O que realiza um redirecionamento do stdio, que muito til quando estamos trocando dados entre duas mquinas diferentes. No exemplo a seguir, um arquivo SQL hipottico enviado para a mquina remota e retorna a mensageresultado do comando: 1 ssh hachi "psql billing" < billing.sql | grep -v ^INFO Cuidado: um erro muito comum quando redirecionamos a sada de um processo ssh o de haver comandos que do algum retorno em scripts de inicializao que so executados toda vez que o shell iniciado. (e.g. .tcshrc, .kshrc, .bashrc, etc) ao de nos scripts de login (e.g. .prole, .login, .bash prole). Se houver algum comando que produz alguma sada nos scripts de inicializao do shell, a sada deles ser includa junto com a sada dos seus comandos. Eles tambm interrompem transmisso de arquivos via SSH.
Transferncia de arquivos
SSH oferece vrias maneiras de transferir arquivos. A maioria delas se usa do redirecionamento de entrada e sada j mencionados. Alm desses temos mais alguns. scp scp o mecanismo original do SSH para transferir arquivos. Ele modelado com base no rcp (comando para cpia remota) do BSP (protocolo da Xerox PARC anlogo ao TCP). Um protocolo com mais de 25 anos. Sua sintaxe muito simples: 1 scp [user@]host:/path/to/source/file /path/to/destination/file Ele copia um arquivo remoto para um destino local. Para fazer o inverso, copiar um arquivo local para um destino remoto, basta inverter os parmetros do comando: 1 scp /path/to/source/file [user@]host:/path/to/destination/file Em ambos os casos, o nome do arquivo a ser enviado pode ser um curinga referente a vrios arquivos. Se o local para salvar os arquivos for omitido, o diretrio home do usurio ser usado. Por exemplo: 1 scp[user@]host:/home/djm/*.diff O scp no trabalha muito bem com cpias de arquivos entre dois servidores remotos. Embora seja possvel utilizando a seguinte sintaxe: 1 scp [user@]host1:/path [user@]host2:/path Para esse comando funcionar, o host1 deve estar configurado para acessar o host2 sem o uso de login (atravs do uso de chaves pblicas, que so explicadas mais adiante). De qualquer forma, uma
pequena resposta dada ao usurio quanto ao sucesso da operao. scp pode tambm copiar arquivos de forma recursiva: 1 scp -r source-path [user@]host:/destination-path 2 scp -r [user@]host:/source-path /destination-path Enquanto muito til para transferncia simples de poucos arquivos, tem vrias limitaes. A mais incmoda o pssimo tratamento de caracteres que podem ser interpretados pelo shell (como espaos). Por exemplo: [djm@roku djm]$ scp "hachi:/mp3/J.S Bach/Matthaus Passion 1 0101.ogg" /tmp 2 cp: cannot stat /mp3/J.S.: No such file or directory 3 cp: cannot stat Bach/Matthaus: No such file or directory 4 cp: cannot stat Passion: No such file or directory 5 cp: cannot stat 0101.ogg: No such file or directory Nestes casos voc tem que escapar os caracteres problemticos: 1 scp "hachi:/mp3/J.S.\ Bach/Matthaus\ Passion\ 0101.ogg" /tmp Outro problema do scp que necessrio que ele seja capaz de encontrar um binrio dele mesmo na mquina remota. Geralmente, esses comandos so instalados sem problema algum no $PATH dos sistemas remotos, mas se no as transferncias no vo funcionar: 1 [djm@roku djm]$ scp hachi:/tmp/foo /tmp 2 bash: scp: command not found
draft-secsh-lexfer (vulgo sftp) grupo IETF. O resultado foi o protocolo descritos no conjunto de rascunhos para Internet: draftsecsh-lexfer-*. Este protocolo, mais conhecido como sftp, um protocolo genrico para transferncia de arquivos elaborado para ser executado atravs de qualquer sistema de transporte seguro. sftp parece bastante com a API UNIX de leitura de leitura de arquivos, com equivalentes para open(), read(), write(), lseek() assim como readdir() e famlia. Essa similaridade faz com que ele seja considerado mais prximo do NFS que ao protocolos de transferncia de arquivos como o FTP. O OpenSSH inclui um cliente interativo de sftp: 01 [djm@roku ssh-tutorial]$ sftp hachi 02 Connecting to hachi... 03 04 sftp> cd /usr/share/games 05 sftp> ls 06 drwxr-xr-x 8 root wheel 512 Aug 21 19:01 . 07 drwxr-xr-x 22 root wheel 512 Apr 30 2001 .. 08 drwxr-xr-x 2 root wheel 512 Aug 21 19:01 atc 09 drwxr-xr-x 2 root wheel 512 Aug 21 19:01 boggle 10 drwxr-xr-x 2 root wheel 512 Apr 30 2001 ching 11 drwxr-xr-x 2 root wheel 512 Aug 21 19:01 fortune
12 13 14 15 16 17 18 19 20 21 22 23 24
drwxr-xr-x 2 root wheel 512 Aug 21 19:01 larn< drwxr-xr-x 2 root wheel 1024 Aug 21 19:01 quiz.db -r--r--r-- 1 root games 2030 Aug 21 19:01 cards.pck -r--r--r-- 1 root games 10087 Aug 21 19:01 cribbage.instr -r--r--r-- 1 root games 1565 Aug 21 19:01 fish.instr -r--r--r-- 1 root games 1941 Aug 21 19:01 wump.info sftp> lcd /tmp sftp> get c* Fetching /usr/share/games/cards.pck to cards.pck Fetching /usr/share/games/ching to ching Cannot download a directory: /usr/share/games/ching Fetching /usr/share/games/cribbage.instr to cribbage.instr sftp> quit
tar-over-ssh Como falamos antes, ssh pode ser usado para redirecionar entrada e sada entre hosts. Essa capacidade torna fcil a transferncia de arquivos pro meio de utilidades padres do unix como tar e cpio. Estes comandos apresentam vantagens quando voc precisa transferir uma grande quantidade de arquivos, mantendo os atributos dos arquivos e copiar links comuns e simblicos. O exemplo a seguir vai copiar todos os arquivos e diretrios de /usr/share/games no host hachi para /tmp na mquina local. Note que isto vai preservar a estrutura do diretrio e os atributos incluindo os utimes (datas de acesso e alterao), dono, grupo e permisses: [root@roku root]# ssh hachi "cd /usr/share/games ; tar cf 1 ./a*" | \ > (cd /tmp ; tar xpvf -) 2 ./atc 3 ./atc/Atlantis 4 ./atc/Game_List 5 ./atc/Killer 6 ./atc/OHare 7 ./atc/Tic-Tac-Toe Para copiar arquivos locais para um destino remoto, um comando simtrico pode ser usado: 1 (cd /tmp ; tar cf - ./xyz*) | ssh hachi "cd /tmp ; tar xcvf -" Um pequena mudana no exemplo anterior permite gerar um arquivo tar local a partir de um conjunto de arquivos remotos (note que h um passo extra de compresso): 1 ssh hachi "cd /tmp ; tar cvf - ./* | bzip2 -9" > tmp.tar.bz2 automtico, desde que a autenticao com chaves pblicas esteja configurada.
Rsync Rsync um pacote e algoritmo para manter dois conjuntos de arquivos sincronizados. O Rsync envia somente as diferenas entre os dois conjuntos pela rede ao invs de enviar somente os contedos. Ele muitas vezes usado como um sistema, muito bom, de espelhamento de arquivos ou
como um substituto do scp/rcp. O Rsync possui suporte para ssh, o qual pode ser utilizado por uma opo de linha de comando. Podemos us-lo para listar arquivos de diretrios especficos em mquinas remotas: 1 rsync -e ssh djm@hachi:/tmp/ Para sincronizar/copiar um conjunto de arquivos para a mquina local: 1 rsync -ve ssh djm@hachi:/bin/c* /tmp O Rsync tem muitas outras opes e utilidades. Veja as pginas "man" sobre ele para ver melhor os detalhes.
As chaves pblicas so geradas utilizando o ssh-keygen. Ele pode gerar trs tipos de chaves: rsa, dsa e rsa1. As chaves rsa1 so usadas para autenticao pelo SSH 1.0 (o que mantido por questes de compatibilidade com sistemas antigos). J as outras duas so utilizadas pelo SSH 2.0. O tipo da chave a ser gerada escolhida pela opo -t do ssh-keygen. Normalmente prefervel utilizar as chaves rsa pois elas so um pouco mais rpidas de autenticar que as chaves dsa. Exemplo de criao de uma chave rsa: 01 [djm@roku ssh-tutorial]$ ssh-keygen -t rsa 02 Generating public/private rsa key pair. 03 Enter file in which to save the key (/home/djm/.ssh/id_rsa): 04 Created directory /home/djm/.ssh. 05 Enter passphrase (empty for no passphrase): 06 Enter same passphrase again: 07 Your identification has been saved in /home/djm/.ssh/id_rsa. 08 Your public key has been saved in /home/djm/.ssh/id_rsa.pub. 09 The key fingerprint is:
10
3c:7e:41:2c:d2:51:f8:0b:ef:78:e7:e3:22:eb:af:6a djm@roku.mindrot.org
Caso voc queira gerar uma chave sem utilizar uma frase secreta, o que pode ser til em algumas situaes (que sero descritas mais a frente): 1 ssh-keygen -t dsa -N -f ~/.ssh/id_dsa_example
Usando o ssh-agent
Bem, at aqui a autenticao por chaves pblicas no demonstrou nenhuma vantagem - trocamos apenas a necessidade de digitar uma senha por o de digitar uma frase secreta (geralmente muito mais longa que senhas). A soluo para isso o ssh-agent, um pequeno aplicativo que executado uma vez por sesso de login e carrega todas as suas chaves privadas. Ele fornece as chaves automaticamente para o cliente e no ser mais necessrio digitar nada. Para iniciar o ssh-agent, caso ele no esteja configurado no seu sistema, voc precisa adicionar a seguinte linha ao arquivo de inicializao do sistema (o arquivo .profile ou algum similar): 1 test -z "$SSH_AUTH_SOCK" && eval 'ssh-agent -s' Quando executado, o ssh-agent vai emitir uma srie de variveis de ambiente na sada padro. A diretiva eval serve para verificar que as variveis foram importadas para o seu sistema e a diretiva test serve para garantir que no vamos iniciar um processo do ssh-agent. Assim que o ssh-agent estiver trabalhando, voc tem que carregar suas chaves nele atravs do sshadd. Execut-lo sem nenhum argumento resulta numa tentativa de carregar os trs arquivos padres (RSA 1.0, RSA 2.0 e DSA) no agente: 1 [djm@roku ssh-tutorial]$ ssh-add 2 Enter passphrase for /home/djm/.ssh/id_rsa: 3 Identity added: /home/djm/.ssh/id_rsa (/home/djm/.ssh/id_rsa) Adicionadas as chaves ao agente, voc pode realizar login sem precisar autenticar manualmente: 1 [djm@roku ssh-tutorial]$ ssh djm@hachi 2 Last login: Thu Aug 29 12:40:18 2002 from localhost.localdomain O ssh-add serve para verificar quais chaves esto carregadas no agente: 1 [djm@roku ssh-tutorial]$ ssh-add -l 2048 40:a6:0a:59:e9:15:c0:d6:85:87:ec:63:5d:cc:06:ab 2 /home/djm/.ssh/id_rsa (RSA) 2048 39:9f:9c:47:a9:be:94:f6:1e:e6:a5:97:2d:b0:74:c3 3 /home/djm/.ssh-old/id_rsa (RSA) E tambm pode apagar todas as chaves no agente: 1 [djm@roku ssh-tutorial]$ ssh-add -D 2 All identities removed.
terminal, no pode criar nenhum redirecionamento e forado a usar o comando cvs server. Esta uma excelente forma de fornecer acesso somente leitura ao CVS para desenvolvedores remotos. Extremamente restritivas, chaves sem senha so muito teis para tarefas automatizadas como backup remoto: 1 [djm@roku ssh-tutorial]$ cat ~/.ssh/authorized_keys command="cd /var/cvs ; tar cvf - ./* | bzip2 -9 | gpg --encrypt 2 -r djm@mindrot.org", no-pty,no-agent-forwarding,from="192.168.*",no-X111 forwarding,no-port-forwarding <span style="background-color: white;">ssh-rsa 1 AAAAB3NzaC1yc2EAAAABIwAAAQ</span> 1 ... Conectar com a chave acima geraria um backup do diretrio /var/cvs compactado e encriptado usando OpenPGP. Poderamos adicionar uma tarefa no cron para executar esse comando periodicamente: 1 [djm@roku ssh-tutorial]$ sudo crontab -lu root 0 0 * * * ssh -i .ssh/id_rsa_backup hachi > /var/backup/cvs-date 2 +%Y%m%d.tar.bz2.gpg
Encaminhamento SSH
O SSH possui a capacidade de multiplexar vrias conexes atravs de um canal SSH. Estes "encaminhamentos" permitem voc realizar conexes TCP/IP, X11 e sesses do ssh-agent por meio de uma sesso SSH.
2 Last login: Thu Aug 29 12:58:01 2002 from localhost.localdomain 3 [djm@argon djm]$ ssh-add -l 2048 40:a6:0a:59:e9:15:c0:d6:85:87:ec:63:5d:cc:06:ab 4 /home/djm/.ssh/id_rsa (RSA) 2048 39:9f:9c:47:a9:be:94:f6:1e:e6:a5:97:2d:b0:74:c3 5 /home/djm/.ssh-old/id_rsa (RSA)
O SSH tambm permite encaminhar sesses do X11, o que permite a voc seguramente utilizar sesses X11 remotas como se fossem sesses locais. Novamente, esta opo desativada por padro por questes de segurana. Alm de ser ativada, tambm necessrio que o servidor e o cliente tenham um binrio do xauth disponvel e acessvel para configurar o sistema de autenticao MIT-MAGIC-COOKIE-1.
O encaminhamento do X11 pode ser ativo via linha de comando ou pelo arquivo de configuraes: 1 ssh -X hachi xclock Pelo arquivo de configuraes: 1 [djm@roku ssh-tutorial]$ cat ~/.ssh/config 2 Host trustedhost 3 ForwardX11 yes
O SSH suporta encaminhamento de portas tanto do servidor para o cliente (localmente) quanto do cliente para o servidor (remotamente). O encaminhamento local permite que voc encaminhe uma porta na mquina local (cliente), atravs duma conexo SSH, para um host e porta do servidor que voc preferir. Ou seja, quando voc tentar conectar nessa porta de sua mquina, o SSH vai redirecion-la para o host e porta que voc especificou. Isso de maneira completamente invisvel tanto para voc quanto para qualquer aplicativo que acessar essa porta. Encaminhamento de portas local pode ser feito utilizando a opo L PortaLocal:HostRemoto:PortaRemota na linha de comando. Por exemplo, o comando a seguir vai fazer com que acessos a porta 8000 da mquina local sejam redirecionados para o host remoto 10.88.45.12 na porta 80: 1 ssh -L8000:10.88.45.12:80 somehost Tambm possvel inserir esse encaminhamento no arquivo de configuraes do cliente: 1 Host fw.somedomain.com.au 2 LocalForward 8000 somehost.int.somesomain.com.au:80 Isto ajuda muito a administrar mquinas que trabalham atrs de firewalls. Com o uso de encaminhamento de portas sobre uma conexo ao firewall, voc pode ganhar acesso s mquinas protegidas como se voc estivesse se conectando a partir do firewall. Outro truque muito til encaminhar uma porta para um servidor proxy para burlar um filtro web local. Quando utilizamos encaminhamento local de portas, o comportamento padro s permitir conexes da mquina local para as portas encaminhadas (feito por razes de segurana). Para permitir outros endereos de se conectarem as portas encaminhadas preciso especificar a opo GatewayPorts. Isto pode, como nos casos anteriores, ser especificado via linha de comando ogatewayports=yes ou no arquivo de configuraes do cliente. Alguns exemplos (retirados daqui): Acessando remotamente a administrao de impressoras do CUPS (porta 631): Vamos direcionar o trfego da porta local 5555 para a porta 631 do servidor 192.168.0.12, atravs de uma conexo SSH nesse mesmo servidor: 1 ssh -L 5555:192.168.0.12:631 192.168.0.12 Caso fosse necessrio utilizar um usurio especfico (por exemplo: joao), o comando ficaria assim: 1 ssh -L 5555:192.168.0.12:631 joao@192.168.0.12 Caso o servidor SSH estivesse em uma porta diferente da padro (22), digamos porta 2222,
faramos dessa maneira: 1 ssh -p 2222 -L 5555:192.168.0.12:631 joao@192.168.0.12 Caso voc deseje que as mquinas que se conectarem sua estao possam utilizar o tunel, o comando seria (supondo que o IP de sua estao seja 10.0.0.28): 1 ssh -p 2222 -L 10.0.0.28:5555:192.168.0.12:631 joao@192.168.0.12 Com a conexo estabelecia, bastaria abrir o navegador web e acessar o endereo http://localhost:631 (ou http://10.0.0.28:631 no caso de outras mquinas) para realizar o acesso. Agora, suponhamos que voc est com seu notebook em um CyberCafe, com conexo WiFi Open (sem criptografia) e deseja acessar os emails no servidor POP de sua empresa de forma segura. Para isso, voc precisaria ter acesso SSH a um dos equipamentos da empresa, como um firewall ou outro servidor. Supondo-se que que dados de conexo sejam: Firewall (com acesso SSH na porta 7788): 200.200.200.200 Servidor de Email (rodando POP na porta 110) : 172.16.100.50 Usurio para acesso SSH: antonio o comando seria: 1 ssh -p 7788 -L 110:172.16.100.50: antonio@200.200.200.200 Basta configurar seu cliente de email para acessar o servidor POP-3 no endereo 127.0.0.1, porta 110 e acessar suas mensagens de forma criptografada. Encaminhamento de portas remotas o oposto: conecta uma porta do servidor a uma porta no cliente. A sintaxe bem similar: -R remoteport:localhost:localport. O exemplo a seguir faz com que as conexes na porta 2500 da mquina remota sejam direcionadas para a porta 25 do host 10.34.54.12, que no caso se tratava do host local: 1 ssh -R 2500:10.34.54.12:25 somehost Isso til, quando voc precisa disponibilizar acesso da mquina remota a outra mquina, seja a sua mquina local ou qualquer outra. Pode ser por questes de segurana, burrocracia, constante troca de informaes importantes, etc. Basicamente, seria o mesmo que conectar no host remoto e criar um encaminhamento local l.
voc especificar. Por exemplo, para um navegador, qualquer URL que voc digitar ser enviada atravs do tnel. Firefox, Xchat, Gaim e muitos outros suportam o uso de SOCKS5. A configurao para isso fica geralmente em preferncias em configuraes de conexo. Lembre-se, como dizia Benjamin Parker ou "Tio Ben" , com grandes poderes vem grandes responsabilidades. No porqu voc pode burlar firewalls e usar outros hosts para movimentar seu trfego na rede que voc deva, nem que nenhum administrador no v notar a sua presena.
No seu arquivo de configuraes: 1 ~/.ssh/config Para mais detalhes sobre o arquivo de configuraes, veja a pgina man do ssh_config. A diretiva 'TCPKeepAlive yes' diz ao cliente que ele deve enviar um tiquinho de dados pela conexo periodicamente para que o servidor saiba que voc ainda est ali. 'ServerAliveInterval 60' define o perodo de tempo entre uma mensagem e outra para 60 segundos. Este truque engana muitos firewalls que de outra forma derrubariam a conexo, e voc pode ir no banheiro tranquilo e ler toda a sesso de quadrinho sem precisar conectar novamente a todas as mquinas em que voc estava conectado.
A ltima seria apertar as teclas "CTRL" + "D". Estas so maneiras de finalizar a sesso do SSH do lado do cliente. Geralmente elas finalizam o shell em que voc est e fazem logoff na mquina remota. Algo que talvez voc no saiba que h outra maneira de finalizar uma sesso SSH. Isto til caso voc perca conectividade com uma mquina e voc no tenha como terminar sua sesso. Por exemplo, isto acontece se voc permanecer logado em uma mquina enquanto ela est desligada. SSH tem suas prprias sequncias de escape na linha de comando. Isto pode ser usado para terminar conexes, criar novos tneis ou listar os atuais e algumas outras funes.Para terminar uma conexo mesmo quando voc no tem um terminal de comandos, pressione ENTER duas vezes (por precauo) e ento a sequncia '~.'. Um til e um ponto: 1 (ENTER) (ENTER) ~. Isto vai finalizar a conexo SSH pelo lado do cliente ao invs de finaliz-la pelo lado do servidor.
Implementaes do SSH
OpenSSH
OpenSSH implementao mais popular do SSH. OpenSSH suporta o protocolo SSH (v1 e v2) e distribudo sob uma licena BSD de cdigo fonte aberto. OpenSSH roda no *BSD, Linux, Solaris, Windows (via CygWin), HP/UX, Irix, Mac OS X, AIX, SCO, Tru64 e muitas outras plataformas. OpenSSH incluso com muitas distribuies gratuitas de sistemas operacionais (Linux, *BSD) assim como em vrias comerciais (incluindo Mac OS X e IBM AIX). Ele tambm a base da implementao do SSH do Solaris.
Unix
OSSH Uma implementao do protocolo SSH v1 feita por Bjrn Grnvall, baseado num cdigo antigo do Tatu Ylnen o qual foi lanado sob a licena de cdigo aberto. OSSH formou as bases das primeiras verses do OpenSSH. FreSSH Uma implementao gratuita do protocolo SSH v1 feita por Eric Haszlakiewicz, Thor Lancelot Simon e Jason R. Thorpe. LSH/Psst Uma implementao GPL do protocolo SSH v2 feita por Niels Mller. LSH interessante por seu suporte ao SPKI.
Windows
PuTTY Uma implementao de tima qualidade do telnet e dos protocolos SSH v1 e v2 feito por Simon
Tatham. Ele tambm inclui um ssh-agent (pagent) assim como suporte a scp e sftp. TTSSH A free plugin providing SSH protocol v.1 capability for Tera Term Pro, a free terminal emulator. Written by Robert OCallahan.
Macintosh
NiftyTelnet SSH Uma verso melhorada do NiftyTelnet, o qual suporta o protocolo SSH v1. MacSSH Uma implementao gratuita do protocolo SSH v2 baseada no BetterTelnet e no LSH.
Other
Top Gun SSH Uma implementao do protocolo SSH v1 para palmtops com PalmOS. Ele requer o PilotSSLeay. MindTerm Mindterm uma implementao aberto em Java dos protocolos SSH. Mindterm 1 implementa SSH v1 e cdigo fonte aberto. As verses mais recentes suportam o protocolo v2 mas so comerciais. Java-SSH Um cliente para o protocolo SSH v1 com uma licena confusa. SSH Plugin Outro cliente SSH v1 em java. Licena open-source (GPL).