{"id":421,"date":"2013-03-08T18:55:33","date_gmt":"2013-03-08T21:55:33","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=421"},"modified":"2013-03-08T18:55:33","modified_gmt":"2013-03-08T21:55:33","slug":"ssh-traducao-da-man-page","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=421","title":{"rendered":"SSH &#8211; Tradu\u00e7\u00e3o da man page"},"content":{"rendered":"<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td colspan=\"2\"><b>Sinopse \/ Descri\u00e7\u00e3o<\/b><\/p>\n<div>Nome:<\/p>\n<p><em>SSH<\/em> &#8211; Cliente OpenSSH SSH (programa de login remoto)<\/p>\n<p>Sinopse:<\/p>\n<p>ssh [ -1246AaCfgKkMNnqsTtVvXxYy ] [ -b bind_address ][ -c cipher_spec ]<br \/>\n[ -D [bind_address:]port][ -e escape_char ][ -F configfile ][ -i identity_file ]<br \/>\n[ -L [bind_address:]port:host:hostport][ -l login_name ][ -m mac_spec ]<br \/>\n[ -O ctl_cmd ][ -o option ][ -p port ][ -R [bind_address:]port:host:hostport]<br \/>\n[ -S ctl_path ][ -w local_tun [:remote_tun]] [user@]hostname [ command ]<\/p>\n<p>Descri\u00e7\u00e3o:<\/p>\n<p>O SSH (cliente SSH) \u00e9 um programa para conectar-se e executar comandos em m\u00e1quina remota. \u00c9 proposital substituir o &#8220;rlogin&#8221; e o &#8220;rsh&#8221; e prover comunica\u00e7\u00f5es criptografadas de forma segura entre dois hosts n\u00e3o confi\u00e1veis sobre uma rede n\u00e3o segura. As conex\u00f5es X11 e portas TCP arbitr\u00e1rias, tamb\u00e9m podem ser encaminhadas atrav\u00e9s do canal seguro.<\/p>\n<p>O SSH conecta-se e faz o login em um hostname espec\u00edfico (com nome de usu\u00e1rio opcional). O usu\u00e1rio deve provar sua identidade \u00e0 m\u00e1quina remota usando um dos v\u00e1rios m\u00e9todos, dependendo da vers\u00e3o usada do protocolo (veja abaixo).<\/p>\n<p>Se o comando \u00e9 especificado, ele \u00e9 executado em um host remoto ao inv\u00e9s de um acesso shell.<\/p>\n<p>As op\u00e7\u00f5es est\u00e3o a seguir:<\/p>\n<p><strong>-1<\/strong> :: Obriga o SSH a tentar somente a vers\u00e3o 1 do protocolo;<\/p>\n<p><strong>-2<\/strong> :: Obriga o SSH a tentar somente a vers\u00e3o 2 do protocolo;<\/p>\n<p><strong>-4<\/strong> :: Obriga o SSH a usar somente endere\u00e7os IPv4;<\/p>\n<p><strong>-6<\/strong> :: Obriga o SSH a usar somente endere\u00e7os IPv6;<\/p>\n<p><strong>-A<\/strong> :: Ativa o encaminhamento de uma conex\u00e3o de autentica\u00e7\u00e3o de agente. Isto tamb\u00e9m pode ser especificado numa base por host em um arquivo de configura\u00e7\u00e3o.<\/p>\n<p>O agente encaminhado deve ser ativado com cuidado. Usu\u00e1rios com a habilidade de ignorar arquivos de permiss\u00f5es em um host remoto (para o socket Unix-domain do agente) podem acessar o agente local pela conex\u00e3o encaminhada.<\/p>\n<p>Um atacante n\u00e3o pode obter material chave de um agente, por\u00e9m, ele pode executar opera\u00e7\u00f5es nas chaves que permite sua autentica\u00e7\u00e3o usando identidades carregadas no agente.<\/p>\n<p><strong>-a<\/strong> :: Desativa o encaminhamento da conex\u00e3o da autentica\u00e7\u00e3o do agente;<\/p>\n<p><strong>-b bind_address<\/strong> :: Usa bind_address na m\u00e1quina local como o endere\u00e7o origem da conex\u00e3o. \u00c9 \u00fatil somente em sistemas com mais de um endere\u00e7o.<\/p>\n<p><strong>-C<\/strong> :: Requer compress\u00e3o de todos os dados (incluindo stdin, stdout, stderr, e dados encaminhados via X11 e conex\u00f5es TCP). O algoritmo de compress\u00e3o \u00e9 o mesmo usado pelo gzip(1), e o &#8220;n\u00edvel&#8221; pode ser controlado pela op\u00e7\u00e3o &#8220;CompressionLevel&#8221; da vers\u00e3o 1 do protocolo.<\/p>\n<p>A compress\u00e3o \u00e9 desejada em linhas de modem e outras conex\u00f5es mais lentas, mas ir\u00e1 somente diminuir as coisas em conex\u00f5es r\u00e1pidas. O valor padr\u00e3o pode ser definido em uma base host-para-host nos arquivos de configura\u00e7\u00e3o.<\/p>\n<p>Veja a op\u00e7\u00e3o compress\u00e3o:<\/p>\n<p><strong>-c cipher_spec<\/strong> :: Seleciona a especifica\u00e7\u00e3o de cifra para criptografar a sess\u00e3o. A vers\u00e3o 1 do protocolo permite a especifica\u00e7\u00e3o de uma cifra \u00fanica.<\/p>\n<p>Os valores suportados s\u00e3o &#8220;3des&#8221;, &#8220;blowfish&#8221;, e &#8220;des&#8221;:<\/p>\n<ul>\n<li>O &#8220;3des&#8221; (triplo-des) \u00e9 uma tripla (encripta-decripta-encripta) com tr\u00eas diferentes chaves. Acredita-se que seja seguro.<\/li>\n<li>O &#8220;blowfish&#8221; \u00e9 uma cifra de bloco r\u00e1pida, parece ser muito seguro e bem mais r\u00e1pido que o 3des.<\/li>\n<li>O &#8220;des&#8221; \u00e9 suportado somente no cliente ssh para interoperabilidade com a implementa\u00e7\u00e3o do protocolo 1 que n\u00e3o suporta a cifra 3des. Seu uso \u00e9 fortemente desencorajado devido \u00e0s defici\u00eancias criptogr\u00e1ficas. O padr\u00e3o \u00e9 o &#8220;3des&#8221;.<\/li>\n<\/ul>\n<p>Para a vers\u00e3o 2 do protocolo, cipher_spec \u00e9 uma lista de cifras separadas por v\u00edrgula listadas em ordem de prefer\u00eancia. Veja a palavra-chave &#8220;Ciphers&#8221; para mais informa\u00e7\u00f5es.<\/p>\n<p><strong>-D [bind_address:]porta<\/strong> :: Especifica um encaminhamento de uma porta de n\u00edvel de aplica\u00e7\u00e3o local &#8220;din\u00e2mica&#8221;. Funciona alocando um socket para escutar a porta no lado local, opcionalmente limitado pelo espec\u00edfico &#8220;bind_address&#8221;.<\/p>\n<p>Quando uma conex\u00e3o \u00e9 feita nessa porta ela \u00e9 encaminhada sobre o canal seguro, e o protocolo da aplica\u00e7\u00e3o \u00e9 depois usado para determinar onde se conectar na m\u00e1quina remota.<\/p>\n<p>Atualmente os protocolos SOCKS4 e SOCKS5 s\u00e3o suportados, e o SSH ir\u00e1 atuar como um servidor SOCKS. Somente o usu\u00e1rio root pode encaminhar portas privilegiadas. Encaminhamentos din\u00e2micos de portas podem ser especificados no arquivo de configura\u00e7\u00e3o.<\/p>\n<p>Endere\u00e7os IPv6 podem ser especificados com uma sintaxe alternativa:<\/p>\n<p><em>[ bind_address\/]porta<\/em><\/p>\n<p>Ou colocando o endere\u00e7o entre chaves. Somente o superusu\u00e1rio pode encaminhar portas privilegiadas. Por padr\u00e3o a porta local \u00e9 limitada de acordo com a configura\u00e7\u00e3o do GatewayPorts. Por\u00e9m um &#8220;bind_address&#8221; expl\u00edcito pode ser usado para ligar a conex\u00e3o com o endere\u00e7o espec\u00edfico.<\/p>\n<p>O &#8220;bin_address&#8221; de &#8220;localhost&#8221; indica que a porta escutada pode ser limitada somente para o usu\u00e1rio local, enquanto um endere\u00e7o vazio, ou &#8216;*&#8217;, indica que a porta deve estar dispon\u00edvel para todas as interfaces.<\/p>\n<p><strong>-e escape_char<\/strong> :: Define o caractere de escape para sess\u00f5es com tty (default: &#8220;~&#8221;). O caractere de escape \u00e9 somente reorganizado no come\u00e7o de uma linha. Se o caractere de escape for seguido por um ponto (&#8216;.&#8217;) fecha a conex\u00e3o; seguido por <strong>Ctrl-Z<\/strong> suspende a conex\u00e3o; e seguido por si mesmo envia o caractere de escape uma vez. Definindo o caractere como &#8220;none&#8221;\/&#8221;nenhum&#8221; desativa quaisquer escapes e torna a sess\u00e3o completamente transparente.<\/p>\n<p><strong>-F configfile<\/strong> :: Especifica um arquivo de configura\u00e7\u00e3o alternativo por usu\u00e1rio. Se um arquivo de configura\u00e7\u00e3o \u00e9 passado por linha de comando, o arquivo de configura\u00e7\u00e3o de todo o sistema (<em>\/etc\/ssh\/ssh_config<\/em>) ser\u00e1 ignorado. O padr\u00e3o para um arquivo de configura\u00e7\u00e3o por usu\u00e1rio \u00e9: <em>~\/.ssh\/config<\/em>.<\/p>\n<p><strong>-f<\/strong> :: Pede para o SSH ir para background antes da execu\u00e7\u00e3o do comando. \u00c9 \u00fatil se o SSH vai perguntar por senhas ou frases secretas, mas o usu\u00e1rio o quer em background. Isto implica em &#8220;-n&#8221;. O modo recomendado para iniciar programas X11 em um site remoto \u00e9 com alguma coisa do tipo: ssh -f host xterm.<\/p>\n<p>Se a op\u00e7\u00e3o de configura\u00e7\u00e3o &#8220;ExitOnForwardFailure&#8221; for definida como &#8220;yes&#8221;, logo, um cliente iniciado com &#8220;-f&#8221; ir\u00e1 esperar por todos os encaminhamentos das portas remotas serem estabelecidas com sucesso antes de colocarem a si mesmos em background.<\/p>\n<p><strong>-g<\/strong> :: Permite hosts remotos conectarem-se \u00e0 portas de encaminhamento locais.<\/p>\n<p><strong>-I smartcard_device<\/strong> :: Especifica o dispositivo que SSH deve usar para se comunicar com um smartcard usado para guardar a chave privada RSA dos usu\u00e1rios. Esta op\u00e7\u00e3o est\u00e1 dispon\u00edvel apenas se o suporte para dispositivos smartcards forem compilados (padr\u00e3o n\u00e3o \u00e9 suportado).<\/p>\n<p><strong>-i identity_file<\/strong> :: Seleciona um arquivo de onde cada identidade (chave privada) para autentica\u00e7\u00f5es RSA ou DAS s\u00e3o lidas. O padr\u00e3o \u00e9 <em>~\/.ssh\/identity<\/em> para a vers\u00e3o 1 do protocolo, e <em>~\/.ssh\/id_rsa<\/em> e <em>~\/.ssh\/id_dsa<\/em> para a vers\u00e3o 2 do protocolo.<\/p>\n<p>Arquivos de identidade devem ser especificados em uma base por host em um arquivo de configura\u00e7\u00e3o. \u00c9 poss\u00edvel ter m\u00faltiplas op\u00e7\u00f5es &#8220;-i&#8221; (e m\u00faltiplas identidades especificadas em um arquivo de configura\u00e7\u00e3o).<\/p>\n<p><strong>-K<\/strong> :: Ativa a autentica\u00e7\u00e3o GSSAPI e encaminha (delega\u00e7\u00e3o) das credenciais GSSAPI para o servidor.<\/p>\n<p><strong>-k<\/strong> :: Desativa o encaminhamento (delega\u00e7\u00e3o) das credenciais GSSAPI para o servidor.<\/p>\n<p><strong>-L [bind_address:]port:host:hostport<\/strong> :: Especifica que a porta passada no host local (cliente) deve ser encaminhada para o host passado e porta no lado remoto.<\/p>\n<p>Isso funciona basicamente alocando-se um socket para escutar uma porta no lado local, opcionalmente ligada ao &#8220;bind_address&#8221;. Sempre que uma conex\u00e3o \u00e9 feita nessa porta, a conex\u00e3o \u00e9 encaminhada sobre o canal seguro, e a conex\u00e3o \u00e9 feita na porta do host (host port) da m\u00e1quina remota.<\/p>\n<p>Encaminhamentos de portas podem ser especificados em um arquivo de configura\u00e7\u00e3o. Endere\u00e7os IPv6 podem ser especificados com uma sintaxe alternativa:<\/p>\n<p><em>[ bind_address\/]port\/host\/hostport<\/em><\/p>\n<p>Ou, colocando o endere\u00e7o entre chaves. Somente o superusu\u00e1rio pode encaminhar portas privilegiadas. Por padr\u00e3o, a porta local \u00e9 ligada de acordo com a configura\u00e7\u00e3o GatewayPorts. Por\u00e9m, um &#8220;bind_address&#8221; expl\u00edcito pode se usado para ligar a conex\u00e3o a um endere\u00e7o espec\u00edfico.<\/p>\n<p>O &#8220;bind_address&#8221; de um &#8220;localhost&#8221; indica que a porta que escuta seja ligada somente para o usu\u00e1rio local, enquanto um endere\u00e7o vazio, ou &#8216;*&#8217;, indica que a porta deve estar dispon\u00edvel para todas as interfaces.<\/p>\n<p><strong>-l login_name<\/strong> :: Especifica o usu\u00e1rio a logar na m\u00e1quina remota. Isto tamb\u00e9m pode ser especificado em uma base por host em um arquivo de configura\u00e7\u00e3o.<\/p>\n<p><strong>-M<\/strong> :: Coloca o cliente SSH no modo &#8220;master&#8221; para compartilhamento de conex\u00e3o. M\u00faltiplas op\u00e7\u00f5es &#8220;-M&#8221; coloca o SSH no modo &#8220;master&#8221; com confirma\u00e7\u00e3o necess\u00e1ria antes que conex\u00f5es escravas sejam aceitas. Veja a descri\u00e7\u00e3o do ControlMaster em &#8220;ssh_config(5)&#8221; para mais detalhes.<\/p>\n<p><strong>-m mac_spec<\/strong> :: Adicionalmente, para o protocolo vers\u00e3o 2, uma lista de algoritmos MAC (c\u00f3digo de autentica\u00e7\u00e3o de mensagem) separada por v\u00edrgulas pode ser especificada em ordem de prefer\u00eancia. Veja a palavra chave MAC para mais informa\u00e7\u00f5es.<\/p>\n<p><strong>-N<\/strong> :: N\u00e3o executa um comando remoto. Pode ser \u00fatil apenas para portas de encaminhamento (apenas protocolo vers\u00e3o 2).<\/p>\n<p><strong>-n<\/strong> :: Redireciona a sa\u00edda &#8220;stdin&#8221; para <em>\/dev\/null<\/em> (na verdade, previne a leitura do &#8220;stdin&#8221;). Deve ser usado quando o SSH roda em background. Um truque comum \u00e9 usar isso para executar programas X11 em uma m\u00e1quina remota. Por exemplo:<\/p>\n<p><strong>$ ssh -n shadows.cs.hut.fi emacs &amp;<\/strong><\/p>\n<p>Ir\u00e1 iniciar um Emacs em <em>shadows.cs.hut.fi<\/em>, e a conex\u00e3o X11 ser\u00e1 automaticamente encaminhada sobre um canal criptografado. O programa SSH ir\u00e1 ser colocado em background (isso n\u00e3o funciona se o SSH precisar perguntar por uma senha ou frase secreta. Veja tamb\u00e9m a op\u00e7\u00e3o: -f).<\/p>\n<p><strong>-O ctl_cmd<\/strong> :: Controla uma conex\u00e3o ativa multiplexando processos mestre. Quando a op\u00e7\u00e3o &#8220;-O&#8221; \u00e9 especificada, o argumento &#8220;ctl_cmd&#8221; \u00e9 interpretado e passado para o processo mestre. Os comandos v\u00e1lidos s\u00e3o:<\/p>\n<ul>\n<li><em>check<\/em> :: Checa se o processo mestre est\u00e1 executando;<\/li>\n<li><em>exit<\/em> :: Solicita o mestre para sair.<\/li>\n<\/ul>\n<p><strong>-o option<\/strong> :: Pode ser usado para fornecer op\u00e7\u00f5es no formato usado no arquivo de configura\u00e7\u00e3o. Isto \u00e9 \u00fatil para especificar op\u00e7\u00f5es que n\u00e3o s\u00e3o separadas por uma flag de linha de comando.<\/p>\n<p>Para detalhes completos das op\u00e7\u00f5es listadas abaixo, e seus poss\u00edveis valores, veja o &#8220;ssh_config(5)&#8221;:<\/p>\n<ul>\n<li>AddressFamily<\/li>\n<li>BatchMode<\/li>\n<li>BindAddress<\/li>\n<li>ChallengeResponseAuthentication<\/li>\n<li>CheckHostIP<\/li>\n<li>Cipher<\/li>\n<li>Ciphers<\/li>\n<li>ClearAllForwardings<\/li>\n<li>Compression<\/li>\n<li>CompressionLevel<\/li>\n<li>ConnectionAttempts<\/li>\n<li>ConnectTimeout<\/li>\n<li>ControlMaster<\/li>\n<li>ControlPath<\/li>\n<li>DynamicForward EscapeChar<\/li>\n<li>ExitOnForwardFailure<\/li>\n<li>ForwardAgent<\/li>\n<li>ForwardX11<\/li>\n<li>ForwardX11Trusted<\/li>\n<li>GatewayPorts<\/li>\n<li>GlobalKnownHostsFile<\/li>\n<li>GSSAPIAuthentication<\/li>\n<li>GSSAPIDelegateCredentials<\/li>\n<li>HashKnownHosts<\/li>\n<li>Host<\/li>\n<li>HostbasedAuthentication<\/li>\n<li>HostKeyAlgorithms<\/li>\n<li>HostKeyAlias<\/li>\n<li>HostName<\/li>\n<li>IdentityFile<\/li>\n<li>IdentitiesOnly<\/li>\n<li>KbdInteractiveDevices<\/li>\n<li>LocalCommand<\/li>\n<li>LocalForward<\/li>\n<li>LogLevel<\/li>\n<li>MACs<\/li>\n<li>NoHostAuthenticationForLocalhost<\/li>\n<li>NumberOfPasswordPrompts<\/li>\n<li>PasswordAuthentication<\/li>\n<li>PermitLocalCommand<\/li>\n<li>Port<\/li>\n<li>PreferredAuthentications<\/li>\n<li>Protocol<\/li>\n<li>ProxyCommand<\/li>\n<li>PubkeyAuthentication<\/li>\n<li>RekeyLimit<\/li>\n<li>RemoteForward<\/li>\n<li>RhostsRSAAuthentication<\/li>\n<li>RSAAuthentication<\/li>\n<li>RemoteForward<\/li>\n<li>RhostsRSAAuthentication<\/li>\n<li>RSAAuthentication<\/li>\n<li>SendEnv<\/li>\n<li>ServerAliveInterval<\/li>\n<li>ServerAliveCountMax<\/li>\n<li>StrictHostKeyChecking<\/li>\n<li>TCPKeepAlive<\/li>\n<li>Tunnel<\/li>\n<li>TunnelDevice<\/li>\n<li>UsePrivilegedPort<\/li>\n<li>User<\/li>\n<li>UserKnownHostsFile<\/li>\n<li>VerifyHostKeyDNS<\/li>\n<li>VisualHostKey<\/li>\n<li>XAuthLocation<\/li>\n<\/ul>\n<p><strong>-p porta<\/strong> :: Porta para conectar no host remoto. Isto pode ser especificado em uma base por host no arquivo de configura\u00e7\u00e3o.<\/p>\n<p><strong>-q<\/strong> :: Modo quieto. Faz com que a maioria das mensagens de aviso e diagn\u00f3stico sejam suprimidas. Apenas erros fatais s\u00e3o exibidos. Se um segundo &#8220;-q&#8221; \u00e9 dado, ent\u00e3o, mesmo erros fatais s\u00e3o suprimidos, exceto aqueles produzidos por argumentos errados.<\/p>\n<p><strong>-R [endere\u00e7o_de_liga\u00e7\u00e3o:]porta:host:porta_do_host<\/strong> :: Especifica que a dada porta no host (servidor) remoto ser\u00e1 direcionada para o host e porta dados no lado no local.<\/p>\n<p>Isto funciona por meio de uma aloca\u00e7\u00e3o de socket para escutar a porta no lado remoto, e quando a conex\u00e3o \u00e9 feita nesta porta, a conex\u00e3o \u00e9 direcionada sobre um canal seguro, e uma conex\u00e3o \u00e9 feita para host na porta &#8220;porta_do_host&#8221; da m\u00e1quina local.<\/p>\n<p>Direcionamento de portas pode tamb\u00e9m ser especificado no arquivo de configura\u00e7\u00e3o. Portas privilegiadas s\u00f3 podem ser direcionadas quando estiver logado como root na m\u00e1quina remota. Endere\u00e7os IPv6 podem ser especificados por meio de uma inclus\u00e3o do endere\u00e7o entre colchetes ou usando uma sintaxe alternativa:<\/p>\n<p><em>[bind_address\/]host\/port\/hostport<\/em><\/p>\n<p>Por padr\u00e3o o socket que est\u00e1 escutando no servidor ser\u00e1 ligado para a interface de <em>loopback<\/em> somente. Isto pode ser sobrescrito especificando um endere\u00e7o_de_liga\u00e7\u00e3o. Um endere\u00e7o_de_liga\u00e7\u00e3o vazio, ou o endere\u00e7o &#8216;*&#8217;, indica que o socket remoto deve escutar em todas as interfaces. Especificando um endere\u00e7o_de_liga\u00e7\u00e3o remoto s\u00f3 ir\u00e1 ter sucesso se a op\u00e7\u00e3o GatewayPorts do servidor estiver habilitada (veja: ssh_config(5) ).<\/p>\n<p>Se o argumento porta for &#8216;0&#8217;, a porta de escuta ser\u00e1 dinamicamente alocada no servidor e reportada para o cliente em tempo de execu\u00e7\u00e3o. Quando usado junto com &#8220;-O forward&#8221;, a porta alocada ser\u00e1 impressa na sa\u00edda padr\u00e3o.<\/p>\n<p><strong>-S caminho_ctl<\/strong> :: Especifica a localiza\u00e7\u00e3o de um socket de controle para compartilhamento de conex\u00e3o, ou a cadeia &#8220;none&#8221; para desabilitar o compartilhamento de conex\u00e3o. Consulte a descri\u00e7\u00e3o de ControlPath e ControlMaster em ssh_config(5) para mais detalhes.<\/p>\n<p><strong>-s<\/strong> :: Pode ser usado para requisitar uma invoca\u00e7\u00e3o de um subsistema no sistema remoto. Subsistemas s\u00e3o uma caracter\u00edstica do protocolo SSH2 o qual facilita o uso do SSH como um transporte seguro para outras aplica\u00e7\u00f5es (ex.: sftp(1)). O subsistema \u00e9 especificado como o comando remoto.<\/p>\n<p><strong>-T<\/strong> :: Desativa a aloca\u00e7\u00e3o de <em>pseudo-tty<\/em>.<\/p>\n<p><strong>-t<\/strong> :: For\u00e7a a aloca\u00e7\u00e3o pseudo-tty. Isto pode ser usado para executar programas arbitr\u00e1rios baseados em tela em uma m\u00e1quina remota, o qual pode ser muito \u00fatil, por exemplo, quando estiver implementando servi\u00e7os de menu. M\u00faltiplas op\u00e7\u00f5es &#8220;-t&#8221; for\u00e7am a aloca\u00e7\u00e3o tty, mesmo se o SSH n\u00e3o tem um tty local.<\/p>\n<p><strong>-V<\/strong> :: Mostra o n\u00famero da vers\u00e3o e sai.<\/p>\n<p><strong>-v<\/strong> :: Modo de detalhe. Faz o SSH imprimir mensagens de depura\u00e7\u00e3o sobre o seu progresso. Isto \u00e9 \u00fatil para depurar problemas de conex\u00e3o, autentica\u00e7\u00e3o e configura\u00e7\u00e3o. M\u00faltiplas op\u00e7\u00f5es &#8220;-v&#8221; aumentam o detalhamento. O m\u00e1ximo \u00e9 3.<\/p>\n<p><strong>-w &#8211; local_tun[:remote_tun]<\/strong> :: Requisita um encaminhamento de dispositivo de encapsulamento com os dispositivos tun(4) especificados entre o cliente (local_tun) e o servidor (remote_tun).<\/p>\n<p>Os dispositivos podem ser especificados por ID num\u00e9rico ou pela palavra-chave &#8220;any&#8221; (qualquer), que faz utilizar o pr\u00f3ximo dispositivo de encapsulamento dispon\u00edvel.<\/p>\n<p>Se &#8220;remote_tun&#8221; n\u00e3o for especificado, &#8220;any&#8221; \u00e9 utilizado por padr\u00e3o. Veja tamb\u00e9m as diretivas Tunnel e TunnelDevice em <em>ssh_config(5)<\/em>. Se a diretiva Tunnel estiver indefinida, ser\u00e1 definido o modo de encapsulamento padr\u00e3o, que \u00e9 &#8220;point-to-point&#8221; (ponto-a-ponto).<\/p>\n<p><strong>-X<\/strong> :: Habilita o encaminhamento de X11. Isto pode ser especificado por host no arquivo de configura\u00e7\u00e3o.<\/p>\n<p>O encaminhamento de X11 deve ser habilitado com cuidado. Usu\u00e1rios com a habilidade de contornar permiss\u00f5es de arquivos no host remoto (para o banco de dados de autoriza\u00e7\u00e3o X do usu\u00e1rio) podem acessar o display X11 local atrav\u00e9s da conex\u00e3o encaminhada.<\/p>\n<p>Uma pessoa pode atacar e conseguir fazer atividades como monitoramento de teclas pressionadas. Por esta raz\u00e3o, o encaminhamento X11 est\u00e1 sujeito, por padr\u00e3o, \u00e0 extens\u00e3o de restri\u00e7\u00f5es X11 SECURITY (seguran\u00e7a).<\/p>\n<p>Por favor, refira-se \u00e0 op\u00e7\u00e3o &#8220;-Y&#8221; do SSH e a diretiva ForwardX11Trusted no &#8220;ssh_config(5)&#8221; para mais informa\u00e7\u00f5es.<\/p>\n<p><strong>-x<\/strong> :: Desativa o encaminho de X11.<\/p>\n<p><strong>-Y<\/strong> :: Habilita o encaminhamento confi\u00e1vel de X11. O encaminhamento confi\u00e1vel de X11 n\u00e3o est\u00e1 sujeito aos controles de extens\u00e3o X11 SECURITY.<\/p>\n<p><strong>-y<\/strong> :: Envia informa\u00e7\u00f5es do log utilizando o m\u00f3dulo de sistema syslog(3). Por padr\u00e3o, esta informa\u00e7\u00e3o \u00e9 enviada para <em>stderr<\/em>.<\/p>\n<p>O SSH, adicionalmente, poder\u00e1 obter dados de configura\u00e7\u00e3o de um arquivo de configura\u00e7\u00e3o por usu\u00e1rio e um arquivo abrangente do sistema. O formato do arquivo e as op\u00e7\u00f5es de configura\u00e7\u00e3o, s\u00e3o descritos em &#8220;ssh_config(5)&#8221;.<\/p>\n<p>O SSH sai com o status de sa\u00edda do comando remoto, ou com 255, se um erro ocorrer.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Autentica\u00e7\u00e3o<\/b><\/p>\n<div>O cliente <em>SSH<\/em> do <em>OpenSSH<\/em> suporta os protocolos SSH 1 e 2. O protocolo 2 \u00e9 o padr\u00e3o, com SSH voltando para o protocolo 1 se detectar que o protocolo 2 n\u00e3o \u00e9 suportado. Estas configura\u00e7\u00f5es podem ser alteradas usando a op\u00e7\u00e3o Protocol em &#8220;ssh_config(5)&#8221;, ou impostas usando as op\u00e7\u00f5es &#8220;-1&#8221; e &#8220;-2&#8221; (veja acima).<\/p>\n<p>Ambos os protocolos suportam m\u00e9todos semelhantes de autentica\u00e7\u00e3o, mas o protocolo 2 \u00e9 prefer\u00edvel, pois proporciona mecanismos adicionais de confidencialidade (o tr\u00e1fego \u00e9 encriptado usando AES, 3DES, Blowfish, CAST128, ou Arcfour) e integridade (HMAC-MD5, HMAC-SHA1, UMAC-64, HMAC-RIPEMD160). O protocolo 1 carece de um forte mecanismo para assegurar a integridade da conex\u00e3o.<\/p>\n<p>Os m\u00e9todos dispon\u00edveis para autentica\u00e7\u00e3o s\u00e3o:<\/p>\n<ul>\n<li>Autentica\u00e7\u00e3o baseada em GSSAPI;<\/li>\n<li>Autentica\u00e7\u00e3o baseada em host;<\/li>\n<li>Autentica\u00e7\u00e3o por chave p\u00fablica;<\/li>\n<li>Autentica\u00e7\u00e3o desafio-resposta;<\/li>\n<li>Autentica\u00e7\u00e3o por <em>password<\/em>.<\/li>\n<\/ul>\n<p>M\u00e9todos de autentica\u00e7\u00e3o s\u00e3o tentados na ordem especificada acima, embora o protocolo 2 tenha uma op\u00e7\u00e3o de configura\u00e7\u00e3o para mudar a ordem padr\u00e3o: &#8220;PreferredAuthentications&#8221;.<\/p>\n<p>A autentica\u00e7\u00e3o baseada em host funciona da seguinte maneira. Se a m\u00e1quina que o usu\u00e1rio logar estiver listada em <em>\/etc\/hosts.equiv<\/em> ou <em>\/etc\/ssh\/shosts.equiv<\/em> na m\u00e1quina remota, e o nome dos usu\u00e1rios \u00e9 o mesmo em ambos os lados, ou, se os arquivos <em>~\/.rhosts<\/em> ou <em>~\/.shosts<\/em> existirem no diret\u00f3rio HOME do usu\u00e1rio na m\u00e1quina remota e conter uma linha contendo o nome da m\u00e1quina cliente e o nome do usu\u00e1rio naquela m\u00e1quina, o usu\u00e1rio \u00e9 considerado para logar.<\/p>\n<p>Adicionalmente o servidor precisa ser capaz de verificar a chave de host do cliente (veja a descri\u00e7\u00e3o de <em>\/etc\/ssh\/ssh_known_hosts<\/em> e <em>~\/.ssh\/known_hosts<\/em>, abaixo) para o login ser permitido.<\/p>\n<p>Este m\u00e9todo de autentica\u00e7\u00e3o fecha buracos na seguran\u00e7a devido ao IP spoofing, DNS spoofing, e spoofing de roteamento.<\/p>\n<p>** Nota para o administrador: <em>\/etc\/hosts.equiv, ~\/.rhosts<\/em> e o protocolo <em>rlogin\/rsh<\/em>, em geral, s\u00e3o inerentemente inseguros e devem ser desativados se a seguran\u00e7a \u00e9 desejada.<\/p>\n<p>A autentica\u00e7\u00e3o por chave p\u00fablica funciona da seguinte maneira: O esquema \u00e9 baseado na criptografia de chave-p\u00fablica, usando criptosistemas onde a encripta\u00e7\u00e3o e decripta\u00e7\u00e3o s\u00e3o feitas usando chaves separadas, e \u00e9 invi\u00e1vel derivar a chave de decripta\u00e7\u00e3o atrav\u00e9s da chave de encripta\u00e7\u00e3o.<\/p>\n<p>A ideia \u00e9 que cada usu\u00e1rio crie um par de chaves p\u00fablica\/privada para o prop\u00f3sito de autentica\u00e7\u00e3o. O servidor conhece a chave p\u00fablica, e somente o usu\u00e1rio conhece a chave privada. O SSH implementa o protocolo de autentica\u00e7\u00e3o por chave p\u00fablica automaticamente, usando o algoritmo RSA ou DAS.<\/p>\n<p>O protocolo 1 \u00e9 restringido a usar somente chaves RSA, mas o protocol 2 pode usar qualquer um. A se\u00e7\u00e3o HISTORY de &#8220;ssl(8)&#8221; (em sistemas n\u00e3o-OpenBSD, veja em <a href=\"http:\/\/www.openbsd.org\/cgi-bin\/man.cgi?query=ssl&amp;sektion=8#HISTORY\">HISTORY<\/a>) cont\u00e9m uma breve discuss\u00e3o dos dois algoritmos.<\/p>\n<p>O arquivo <em>~\/.ssh\/authorized_keys<\/em> lista as chaves p\u00fablicas que s\u00e3o permitidas para efetuar logon. Quando o usu\u00e1rio loga, o programa SSH diz ao servidor qual par de chaves gostaria de usar para a autentica\u00e7\u00e3o. O cliente prova que tem acesso \u00e0 chave privada e o servidor checa que a chave p\u00fablica correspondente est\u00e1 autorizada a aceitar a conta.<\/p>\n<p>O usu\u00e1rio cria seu par de chaves executando <em>ssh-keygen(1)<\/em>. Isto armazena a chave privada em <em>~\/.ssh\/identity<\/em> (protocolo 1), <em>~\/.ssh\/id_dsa<\/em> (protocolo 2 DSA), ou <em>~\/.ssh\/id_rsa<\/em> (protocolo 2 RSA) e armazena a chave p\u00fablica em <em>~\/.ssh\/identity.pub<\/em> (protocolo 1), <em>~\/.ssh\/id_dsa.pub<\/em> (protocolo 2 DSA), ou <em>~\/.ssh\/id_rsa.pub<\/em> (protocolo 2 RSA) no diret\u00f3rio HOME do usu\u00e1rio.<\/p>\n<p>O usu\u00e1rio deve, ent\u00e3o, copiar a chave p\u00fablica para <em>~\/.ssh\/authorized_keys<\/em> em seu diret\u00f3rio HOME na m\u00e1quina remota. O arquivo &#8220;authorized_keys&#8221; corresponde ao arquivo <em>~\/.rhosts<\/em> convencional, e tem uma chave por linha, embora as linhas podem ser muito longas. Depois disto, o usu\u00e1rio pode efetuar logon sem dar o password.<\/p>\n<p>A maneira mais conveniente de usar autentica\u00e7\u00e3o por chave p\u00fablica pode ser com um agente de autentica\u00e7\u00e3o. Veja &#8220;ssh-agent(1)&#8221; para mais informa\u00e7\u00f5es.<\/p>\n<p>A autentica\u00e7\u00e3o desafio-resposta funciona da seguinte maneira. O servidor envia um &#8220;desafio&#8221; arbitr\u00e1rio em texto, e espera por uma resposta. O protocolo 2 permite m\u00faltiplos desafios e respostas; o protocolo 1 \u00e9 restrito a apenas um desafio\/resposta. Exemplos de autentica\u00e7\u00e3o desafio-resposta incluem autentica\u00e7\u00e3o BSD (veja login.conf(5)) e PAM (para alguns sistemas n\u00e3o-OpenBSD).<\/p>\n<p>Finalmente, se outros m\u00e9todos de autentica\u00e7\u00e3o falharem, o SSH pede uma senha para o usu\u00e1rio. A senha \u00e9 enviada para o host remoto para ser checada; entretanto, j\u00e1 que todas as comunica\u00e7\u00f5es s\u00e3o encriptadas, a senha n\u00e3o pode ser vista por algu\u00e9m que esteja escutando a rede.<\/p>\n<p>O SSH, automaticamente, mant\u00e9m e checa um banco de dados contendo uma identifica\u00e7\u00e3o de todos os hosts com que ele j\u00e1 foi usado. As chaves do host s\u00e3o armazenadas em <em>~\/.ssh\/known_hosts<\/em> no diret\u00f3rio HOME do usu\u00e1rio.<\/p>\n<p>Adicionalmente, o arquivo <em>\/etc\/ssh\/ssh_known_hosts<\/em> \u00e9 automaticamente checado para hosts conhecidos. Quaisquer novos hosts s\u00e3o automaticamente adicionados ao arquivo do usu\u00e1rio. Se a identifica\u00e7\u00e3o de um host mudar, o SSH alerta sobre isto e desativa a autentica\u00e7\u00e3o por senha para prevenir ataques de spoof de servidor ou <em>man-in-the-middle<\/em>, que poderiam caso contr\u00e1rio ser usados para circundar a encripta\u00e7\u00e3o.<\/p>\n<p>A op\u00e7\u00e3o <em>StrictHostKeyChecking<\/em> pode ser usada para controlar logins em m\u00e1quinas cuja chave hospedeira n\u00e3o \u00e9 conhecida ou tenha mudado.<\/p>\n<p>Quando a identidade do usu\u00e1rio for aceita pelo servidor, ou o servidor executa o comando dado, ou loga na m\u00e1quina e d\u00e1 ao usu\u00e1rio um shell normal na m\u00e1quina remota, todas as comunica\u00e7\u00f5es com o comando remoto ou shell v\u00e3o ser automaticamente encriptados.<\/p>\n<p>Se um pseudo-terminal foi alocado (sess\u00e3o normal de login), o usu\u00e1rio poder\u00e1 usar os caracteres de escape escritos abaixo.<\/p>\n<p>Se nenhum <em>pseudo-tty<\/em> foi alocado, a sess\u00e3o \u00e9 transparente e pode ser usada para transferir dados bin\u00e1rios confiavelmente. Na maioria dos sistemas, definindo o caractere de escape para &#8220;none&#8221;, tamb\u00e9m far\u00e1 a sess\u00e3o ser transparente mesmo se um tty for utilizado.<\/p>\n<p>A sess\u00e3o finaliza quando o comando, ou shell na m\u00e1quina remota, sai e todas conex\u00f5es X11 e TCP s\u00e3o fechadas.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Caracteres \/ Encaminhamento \/ Chaves de host<\/b><\/p>\n<div>\n<h1>Caracteres de escape<\/h1>\n<p>Quando um pseudo-terminal for requisitado, o SSH suporta um n\u00famero de fun\u00e7\u00f5es atrav\u00e9s do uso de um caractere de escape.<\/p>\n<p>Um simples til (~) pode ser enviado como &#8220;&#8211;&#8220;, ou colocando um caractere na frente no til que n\u00e3o esteja descrito abaixo. O caractere de escape deve sempre seguir uma quebra de linha para ser interpretado como especial.<\/p>\n<p>O caractere de escape pode ser trocado nos arquivos de configura\u00e7\u00e3o usando a diretiva de configura\u00e7\u00e3o <em>EscapeChar<\/em> ou na linha de comando pela op\u00e7\u00e3o &#8220;-e&#8221;.<\/p>\n<p>Os escapes suportados (assumindo o padr\u00e3o &#8216;-&#8216;) s\u00e3o:<\/p>\n<ul>\n<li>-. :: Desconectar.<\/li>\n<li>-^Z :: SSH em background.<\/li>\n<li>-# :: Listar as conex\u00f5es encaminhadas.<\/li>\n<li>-&amp; :: Coloca o SSH em background no logout quando estiver esperando conex\u00f5es encaminhadas\/ sess\u00f5es X11 terminarem.<\/li>\n<li>-? :: Mostra uma lista de caracteres de escape.<\/li>\n<li>-B :: Envia um BREAK para o sistema remoto (s\u00f3 \u00e9 \u00fatil para o procotolo SSH vers\u00e3o 2 e se o par suportar).<\/li>\n<li>-C :: Abre a linha de comando. Atualmente, isto permite a adi\u00e7\u00e3o de encaminhamento de portas usando as op\u00e7\u00f5es &#8220;-L&#8221;, &#8220;-R&#8221; e &#8220;-D&#8221; (veja acima). Tamb\u00e9m permite o cancelamento de encaminhamentos de porta remotos existentes usando &#8220;-KR[endere\u00e7o_de_liga\u00e7\u00e3o:]porta&#8221;.<\/li>\n<li>!command :: Permite o usu\u00e1rio executar um comando local se a op\u00e7\u00e3o <em>PermitLocalCommand<\/em> estiver habilitada em &#8220;ssh_config(5)&#8221;. Uma ajuda b\u00e1sica est\u00e1 dispon\u00edvel, usando a op\u00e7\u00e3o &#8220;-h&#8221;.<\/li>\n<li>-R :: Requisita o rechaveamento da conex\u00e3o (s\u00f3 \u00e9 \u00fatil para o protocolo SSH vers\u00e3o 2 e se o par suportar).<\/li>\n<\/ul>\n<h1>Encaminhamento TCP<\/h1>\n<p>O encaminhamento de conex\u00f5es TCP arbitr\u00e1rias, sobre o canal seguro, podem ser especificadas ou na linha de comando ou no arquivo de configura\u00e7\u00e3o. Uma poss\u00edvel aplica\u00e7\u00e3o para o encaminhamento TCP \u00e9 uma conex\u00e3o segura para um servidor de correio eletr\u00f4nico; outra \u00e9 ir atrav\u00e9s de firewalls.<\/p>\n<p>No exemplo abaixo deparamos com a encripta\u00e7\u00e3o da comunica\u00e7\u00e3o entre um cliente e servidor IRC, mesmo que o servidor IRC n\u00e3o suporte comunica\u00e7\u00f5es encriptadas diretamente.<\/p>\n<p>Isto funciona da seguinte maneira. O usu\u00e1rio conecta no host remoto usando SSH, especificando uma porta para ser usada para encaminhar conex\u00f5es para o servidor remoto. Depois disso pode-se iniciar o servi\u00e7o o qual ser\u00e1 encriptado na m\u00e1quina cliente, conectando na mesma porta local, e o SSH ir\u00e1 encriptar e encaminhar a conex\u00e3o.<\/p>\n<p>O exemplo a seguir encapsula uma sess\u00e3o IRC da m\u00e1quina cliente &#8220;127.0.0.1&#8221; (localhost) para o servidor remoto &#8220;server.example.com&#8221;:<\/p>\n<p><strong>$ ssh -f -L 1234:localhost:6667 server.example.com sleep 10<br \/>\n$ irc -c &#8216;#users&#8217; -p 1234 pinky 127.0.0.1<\/strong><\/p>\n<p>Isto encapsula uma conex\u00e3o para o servidor IRC &#8220;server.example.com&#8221;, unindo ao canal &#8220;#users&#8221;, com nickname &#8220;pinky&#8221;, usando a porta 1234. N\u00e3o importa qual porta \u00e9 usada, desde que seja maior que 1023 (lembre-se: somente o root pode abrir sockets em portas privilegiadas) e n\u00e3o conflita com qualquer porta que j\u00e1 esteja em uso. A conex\u00e3o \u00e9 encaminhada para a porta 6667 no servidor remoto, j\u00e1 que esta \u00e9 a porta padr\u00e3o para servi\u00e7os IRC.<\/p>\n<p>A op\u00e7\u00e3o &#8220;-f&#8221; faz o SSH ficar em background e o comando remoto &#8220;sleep 10&#8221; \u00e9 especificado para permitir uma quantidade de tempo (10 segundos, no exemplo) para iniciar o servi\u00e7o que ir\u00e1 ser encapsulado. Se nenhuma conex\u00e3o for feita no tempo especificado, o SSH sair\u00e1.<\/p>\n<h1>Encaminhamento X11<\/h1>\n<p>Se a vari\u00e1vel <em>ForwardX11<\/em> estiver definida como &#8220;yes&#8221; (ou veja acima a descri\u00e7\u00e3o das op\u00e7\u00f5es &#8220;-X&#8221;, &#8220;-x&#8221;, e &#8220;-Y&#8221;) e o usu\u00e1rio estiver usando X11 (a vari\u00e1vel de ambiente DISPLAY est\u00e1 definida), a conex\u00e3o para o display X11 \u00e9 automaticamente encaminhada para o lado remoto, de tal maneira que, quaisquer programas X11 iniciados pelo shell (ou comando) ir\u00e3o atrav\u00e9s do canal encriptado, e a conex\u00e3o para o verdadeiro servidor X ser\u00e1 feita a partir da m\u00e1quina local.<\/p>\n<p>O usu\u00e1rio n\u00e3o deve definir DISPLAY manualmente. Encaminhamento de conex\u00f5es X11 podem ser configuradas pela linha de comando ou nos arquivos de configura\u00e7\u00e3o.<\/p>\n<p>O valor definido para DISPLAY pelo SSH ir\u00e1 apontar para a m\u00e1quina servidor, mas com um n\u00famero de display maior que zero. Isto \u00e9 normal, e acontece porque o SSH cria um servidor X &#8220;proxy&#8221; na m\u00e1quina servidor para encaminhar conex\u00f5es sobre o canal encriptado.<\/p>\n<p>O SSH tamb\u00e9m ir\u00e1 definir dados <em>Xauthority<\/em> automaticamente na m\u00e1quina servidor. Para este fim, ele criar\u00e1 um cookie de autoriza\u00e7\u00e3o aleat\u00f3ria, armazen\u00e1-lo em Xauthority no servidor, e verificar que as conex\u00f5es encaminhadas que carregam esse cookie e substitu\u00ed-lo pelo cookie real quando a conex\u00e3o \u00e9 aberta. O cookie de autentica\u00e7\u00e3o real nunca \u00e9 enviado para a m\u00e1quina servidor (e nenhum cookie \u00e9 enviado na \u00edntegra).<\/p>\n<p>Se a vari\u00e1vel ForwardAgent \u00e9 definida como &#8220;yes&#8221; (ou veja a descri\u00e7\u00e3o das op\u00e7\u00f5es &#8220;-A&#8221; e &#8220;-a&#8221;, acima) e o usu\u00e1rio est\u00e1 usando um agente de autentica\u00e7\u00e3o, a conex\u00e3o com o agente \u00e9 automaticamente encaminhada para o lado remoto.<\/p>\n<h1>Verificando chaves de host<\/h1>\n<p>Ao se conectar a um servidor pela primeira vez, um <em>fingerprint<\/em> (impress\u00e3o digital) da chave p\u00fablica do servidor \u00e9 apresentado ao usu\u00e1rio (a menos que a op\u00e7\u00e3o foi <em>StrictHostKeyChecking<\/em> desativada). Fingerprints podem ser determinados usando &#8220;ssh-keygen(1)&#8221;:<\/p>\n<p><strong>$ ssh-keygen -l -f \/etc\/ssh\/ssh_host_rsa_key<\/strong><\/p>\n<p>Se o fingerprint j\u00e1 \u00e9 conhecido, ele pode ser comparado e a chave pode ser aceita ou rejeitada. Por causa da dificuldade de comparar chaves de host s\u00f3 de olhar para cadeias hexadecimais, tamb\u00e9m h\u00e1 suporte para comparar chaves de host visualmente, usando arte aleat\u00f3ria.<\/p>\n<p>Ao definir a op\u00e7\u00e3o VisualHostKey para &#8220;yes&#8221;, um pequeno gr\u00e1fico ASCII \u00e9 exibido em cada login para um servidor, n\u00e3o importando se a sess\u00e3o em si \u00e9 interativa ou n\u00e3o.<\/p>\n<p>Ao aprender o padr\u00e3o que um servidor conhecido produz, um usu\u00e1rio pode facilmente descobrir que a chave de host mudou quando um padr\u00e3o completamente diferente \u00e9 exibido. Por causa que estes padr\u00f5es n\u00e3o s\u00e3o amb\u00edguos no entanto, um padr\u00e3o que se parece com o padr\u00e3o lembrado apenas d\u00e1 uma boa probabilidade de que a chave de host \u00e9 a mesma, e n\u00e3o uma prova garantida.<\/p>\n<p>Para obter uma lista dos fingerprints, juntamente com sua arte aleat\u00f3ria para todos os hosts conhecidos, a seguinte linha de comando pode ser usada:<\/p>\n<p><strong>$ ssh-keygen -lv -f -\/.ssh\/known_hosts<\/strong><\/p>\n<p>Se o fingerprint \u00e9 desconhecido, um m\u00e9todo alternativo est\u00e1 dispon\u00edvel: &#8220;fingerprints de SSH verificados por DNS&#8221;. Um registro de recurso (RR) adicional, SSHFP, \u00e9 adicionado a um zonefile (arquivo de zonas) e o cliente que est\u00e1 conectando poder\u00e1 comparar o fingerprint com aquele da chave apresentada.<\/p>\n<p>Neste exemplo, estamos conectando um cliente para um servidor (host.example.com). O registro de recurso SSHFP deve, primeiramente, ser adicionado ao zonefile para &#8220;host.example.com&#8221;:<\/p>\n<p><strong>$ ssh-keygen -r host.example.com<\/strong><\/p>\n<p>As linhas de sa\u00edda ter\u00e3o de ser adicionadas ao zonefile. Para verificar que a zona est\u00e1 respondendo consultas de impress\u00f5es digitais:<\/p>\n<p><strong>$ dig -t SSHFP host.example.com<\/strong><\/p>\n<p>Finalmente, o cliente conecta:<\/p>\n<blockquote><p><strong>$ ssh -o &#8220;VerifyHostKeyDNS ask&#8221; host.example.com<\/strong><br \/>\n[&#8230;]<br \/>\nMatching host key fingerprint found in DNS.<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)?<\/p><\/blockquote>\n<p>Para mais informa\u00e7\u00f5es, veja o <em>VerifyHostKeyDNS<\/em>, op\u00e7\u00e3o em &#8220;ssh_config(5)&#8221;.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Base Virtual \/ Ambiente \/ Files<\/b><\/p>\n<div>\n<h1>SSH &#8211; Base Virtual de Redes Privadas<\/h1>\n<p>SSH cont\u00e9m suporte para <em>Virtual Private Network (VPN) tunnelling<\/em> usando tun(4) rede pseudo-device permitindo que duas redes se juntem de forma segura. O &#8220;sshd_config(5)&#8221;, op\u00e7\u00e3o de configura\u00e7\u00e3o PermitTunnel, controla se o servidor suporta isso, e em que n\u00edvel (camada 2 ou 3 de tr\u00e1fego).<\/p>\n<p>O exemplo a seguir, iria ligar a rede cliente &#8220;10.0.50.0\/24&#8221; com a rede remota &#8220;10.0.99.0\/24&#8221; usando uma conex\u00e3o ponto-a-ponto a partir de &#8220;10.1.1.1&#8221; a &#8220;10.1.1.2&#8221;, desde que o servidor SSH esteja rodando no gateway para a rede remota, em &#8220;192.168.1.15&#8221;, permitir.<\/p>\n<p>No cliente:<\/p>\n<p><strong># ssh -f -w 0:1 192.168.1.15 true<br \/>\n# ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252<br \/>\n# route add 10.0.99.0\/24 10.1.1.2<\/strong><\/p>\n<p>No servidor:<\/p>\n<p><strong># ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252<br \/>\n# route add 10.0.50.0\/24 10.1.1.1<\/strong><\/p>\n<p>O acesso do cliente pode ser mais afinado atrav\u00e9s do arquivo <em>\/root\/.ssh\/authorized_keys<\/em> (veja abaixo) e a op\u00e7\u00e3o do servidor PermitRootLogin. A entrada a seguir, permitir\u00e1 conex\u00f5es em tun(4) dispositivo 1 para o usu\u00e1rio &#8220;Jane&#8221; e em tun dispositivo 2 para o usu\u00e1rio &#8220;john&#8221;, se PermitRootLogin \u00e9 definido para &#8220;forced-commands-only&#8221;:<\/p>\n<div>tunnel=&#8221;1&#8243;,command=&#8221;sh \/etc\/netstart tun1&#8243; ssh-rsa &#8230; jane<br \/>\ntunnel=&#8221;2&#8243;,command=&#8221;sh \/etc\/netstart tun2&#8243; ssh-rsa &#8230; John<\/div>\n<p>Desde que uma instala\u00e7\u00e3o SSH-based implica em certa quantidade de sobrecarga, pode ser mais adequado para instala\u00e7\u00f5es tempor\u00e1rias, como para VPNs sem fio. VPNs mais permanentes s\u00e3o melhores fornecidas por ferramentas, como &#8220;ipsecctl(8)&#8221; e &#8220;isakmpd(8)&#8221;.<\/p>\n<h1>Ambiente<\/h1>\n<p>SSH normalmente define as seguintes vari\u00e1veis de ambiente:<\/p>\n<ul>\n<li>DISPLAY &#8211; A vari\u00e1vel DISPLAY indica a localiza\u00e7\u00e3o do servidor X11. \u00c9 automaticamente definida por SSH para apontar a um valor na forma de &#8220;hostname:n&#8221;, onde &#8220;hostname&#8221; indica o host onde o shell \u00e9 executado e &#8216;n&#8217; \u00e9 um inteiro &#8220;- 1. ssh&#8221; utiliza este valor especial para transmitir conex\u00f5es X11 pelo canal seguro. O usu\u00e1rio normalmente n\u00e3o deveria definir DISPLAY explicitamente, como que vai tomar a conex\u00e3o X11 insegura (e exigir\u00e1 ao usu\u00e1rio copiar manualmente qualquer autoriza\u00e7\u00e3o necess\u00e1ria de cookies).<\/li>\n<li>HOME &#8211; Definido para o caminho do diret\u00f3rio HOME do usu\u00e1rio.<\/li>\n<li>LOGNAME: Sin\u00f4nimo de USER &#8211; Definido para compatibilidade com sistemas que utilizam esta vari\u00e1vel.<\/li>\n<li>MAIL &#8211; Definido para o caminho da caixa postal (mailbox) do usu\u00e1rio.<\/li>\n<li>PATH &#8211; Definido para o caminho (PATH) padr\u00e3o, conforme especificado na compila\u00e7\u00e3o do SSH.<\/li>\n<li>SSH_ASKPASS &#8211; Se SSH precisar de uma senha, ele ir\u00e1 ler a senha do terminal atual se ele foi executado a partir de um terminal. Se SSH n\u00e3o tem um terminal associado a ele, mas DISPLAY e SSH_ASKPASS est\u00e3o definidos, ele ir\u00e1 executar o programa especificado por SSH_ASKPASS e abrir\u00e1 uma janela X11 para ler a senha. Isso \u00e9 particularmente \u00fatil quando se chama ssh de um &#8220;.xsession&#8221; ou escrita relacionada (note que em algumas m\u00e1quinas, pode ser necess\u00e1rio redirecionar a entrada de <em>\/dev\/null<\/em> para fazer este trabalho).<\/li>\n<li>SSH_AUTH_SOCK &#8211; Identifica o caminho de um dom\u00ednio UNIX-soquete usado para se comunicar com o agente.<\/li>\n<li>SSH_CONNECTION &#8211; Identifica as extremidades da conex\u00e3o cliente e servidor. A vari\u00e1vel cont\u00e9m quatro espa\u00e7os de valores separados: endere\u00e7o IP do cliente, n\u00famero de porta do cliente, endere\u00e7o IP do servidor e n\u00famero de porta do servidor.<\/li>\n<li>SSH_ORIGINAL_COMMAND &#8211; Esta vari\u00e1vel cont\u00e9m a linha de comando original se um comando for\u00e7ado \u00e9 executado. Ele pode ser usado para extrair os argumentos originais.<\/li>\n<li>SSH_TTY &#8211; Este \u00e9 definido para o nome da tty (caminho para o dispositivo) associado com o shell atual ou comando. Se a sess\u00e3o atual n\u00e3o tem tty, esta vari\u00e1vel n\u00e3o est\u00e1 definida.<\/li>\n<li>TZ &#8211; Esta vari\u00e1vel \u00e9 definida para indicar o fuso hor\u00e1rio atual se ele foi definido quando o daemon (servidor) foi iniciado (i.e. o daemon (servidor) passa o valor para novas conex\u00f5es).<\/li>\n<li>User &#8211; Definido para o nome do usu\u00e1rio logado.<\/li>\n<\/ul>\n<p>Al\u00e9m disso, o SSH l\u00ea <em>~\/.ssh\/environment<\/em>, e adiciona linhas do formato &#8220;VARNAME = value&#8221; para o ambiente, se o arquivo existe, e os usu\u00e1rios t\u00eam permiss\u00e3o para mudar seu ambiente. Para mais informa\u00e7\u00f5es, consulte o <em>PermitUserEnvironment<\/em> op\u00e7\u00e3o em &#8220;sshd_config(5)&#8221;.<\/p>\n<h1>Files<\/h1>\n<ul>\n<li><em>~\/.rhosts<\/em> :: Este arquivo \u00e9 utilizado para autentifica\u00e7\u00e3o do host-based (veja acima). Em algumas m\u00e1quinas este arquivo pode precisar ser de leitura \u00e0 todos se o diret\u00f3rio home do usu\u00e1rio est\u00e1 em uma parti\u00e7\u00e3o NFS, porque &#8220;sshd(8)&#8221; o l\u00ea como root. Al\u00e9m disso, este arquivo deve ser de propriedade do usu\u00e1rio, e n\u00e3o deve ter permiss\u00f5es de grava\u00e7\u00e3o para ningu\u00e9m. A permiss\u00e3o recomendada para a maioria das m\u00e1quinas \u00e9 de leitura\/escrita para o usu\u00e1rio, e n\u00e3o acess\u00edveis por outros.<\/li>\n<li><em>~\/.shosts<\/em> :: Este arquivo \u00e9 utilizado exatamente como &#8220;.rhosts&#8221;, mas permite a autentica\u00e7\u00e3o host-based sem permitir login com rlogin\/rsh.<\/li>\n<li><em>~\/.ssh\/<\/em> :: Este diret\u00f3rio \u00e9 o local padr\u00e3o para todas as configura\u00e7\u00f5es espec\u00edficas do usu\u00e1rio e informa\u00e7\u00f5es de autentica\u00e7\u00e3o. N\u00e3o h\u00e1 nenhuma exig\u00eancia geral para manter todo o conte\u00fado do diret\u00f3rio em segredo, mas as permiss\u00f5es recomendadas s\u00e3o de leitura \/escrita\/execu\u00e7\u00e3o para o usu\u00e1rio, e n\u00e3o acess\u00edveis por outros.<\/li>\n<li><em>~\/.ssh\/authorized_keys<\/em> :: Lista as chaves p\u00fablicas (RSA\/DSA) que podem ser usadas para fazer login como este usu\u00e1rio. O formato deste arquivo \u00e9 descrito na p\u00e1gina do manual do &#8220;sshd(8)&#8221;. Este arquivo n\u00e3o \u00e9 altamente sens\u00edvel, mas as permiss\u00f5es recomendadas s\u00e3o de leitura\/escrita para o usu\u00e1rio, e n\u00e3o acess\u00edveis por outros.<\/li>\n<li><em>~\/.ssh\/config<\/em> :: Este \u00e9 o arquivo de configura\u00e7\u00e3o por usu\u00e1rio. O formato de arquivo e op\u00e7\u00f5es de configura\u00e7\u00e3o s\u00e3o descritas em &#8220;ssh_config(5)&#8221;. Devido ao potencial para o abuso, este arquivo deve ter permiss\u00f5es restritas: leitura\/escrita para o usu\u00e1rio, e n\u00e3o acess\u00edveis por outros. Ele pode ser de um grupo-grav\u00e1vel desde que o grupo em quest\u00e3o tenha apenas o utilizador.<\/li>\n<li>~\/.ssh\/environment :: Cont\u00e9m defini\u00e7\u00f5es adicionais para vari\u00e1veis de ambiente; veja em AMBIENTE, acima.<\/li>\n<li><em>~\/.ssh\/identity, ~\/.ssh\/id_dsa<\/em> e <em>~\/.ssh\/id_rsa<\/em> :: Cont\u00e9m a chave privada para autentica\u00e7\u00e3o. Esses arquivos cont\u00eam dados sens\u00edveis e devem ser leg\u00edveis pelo usu\u00e1rio mas n\u00e3o acess\u00edveis por outros (ler\/escrever\/executar). O SSH ir\u00e1 simplesmente ignorar um arquivo de chave privada se for acess\u00edvel por outros. \u00c9 poss\u00edvel especificar uma senha ao gerar a chave que ser\u00e1 usada para criptografar a parte sens\u00edvel deste arquivo utilizando 3DES.<\/li>\n<li><em>~\/.ssh\/identity.pub, ~\/.ssh\/id_dsa.pub<\/em> e <em>~\/.ssh\/id_rsa.pub<\/em> :: Cont\u00e9m a chave p\u00fablica para autentica\u00e7\u00e3o. Esses arquivos n\u00e3o s\u00e3o sens\u00edveis e podem (mas n\u00e3o precisam) ser lidos por qualquer pessoa.<\/li>\n<li><em>~\/.ssh\/known_hosts<\/em> :: Cont\u00e9m uma lista de chaves host para todos os hosts do usu\u00e1rio conectados que ainda n\u00e3o est\u00e3o na lista de todo o sistema de chaves host conhecidos. Veja sshd(8) para mais detalhes sobre o formato deste arquivo.<\/li>\n<li><em>~\/.ssh\/rc<\/em> :: Comandos deste arquivo s\u00e3o executados por ssh quando o usu\u00e1rio faz login, pouco antes do shell do usu\u00e1rio (ou comando) \u00e9 iniciado. Veja a p\u00e1gina de manual do sshd(8) para mais informa\u00e7\u00f5es.<\/li>\n<li><em>\/etc\/hosts.equiv<\/em> :: Este arquivo \u00e9 para autentifica\u00e7\u00e3o do host-based (veja acima). Ele s\u00f3 deve ser escrito pelo root.<\/li>\n<li><em>\/etc\/ssh\/shosts.equiv<\/em> :: Este arquivo \u00e9 utilizado da mesma maneira como o hosts.equiv, mas permite a autentica\u00e7\u00e3o host-based sem permitir login com rlogin\/rsh.<\/li>\n<li><em>\/etc\/ssh\/ssh_config<\/em> :: Arquivo de configura\u00e7\u00e3o Systemwide. O formato de arquivo e op\u00e7\u00f5es de configura\u00e7\u00e3o s\u00e3o descritas em ssh_config (5).<\/li>\n<li><em>\/etc\/ssh\/ssh_host_key, \/etc\/ssh\/ssh_host_dsa_key<\/em> e <em>\/etc\/ssh\/ssh_host_rsa_key<\/em> :: Estes tr\u00eas arquivos cont\u00eam as partes privadas das chaves host e s\u00e3o usados para a autentifica\u00e7\u00e3o do host-based. Se a vers\u00e3o do protocolo 1 \u00e9 usado, ssh deve ser setuid root, j\u00e1 que a chave do anfitri\u00e3o \u00e9 leg\u00edvel apenas pelo root. Para o protocolo vers\u00e3o 2, ssh usa ssh-keysign(8) para acessar as chaves host, eliminando a exig\u00eancia do ssh ser setuid root quando o login \u00e9 baseado em host de autentica\u00e7\u00e3o. Por padr\u00e3o o ssh n\u00e3o \u00e9 setuid root.<\/li>\n<li><em>\/etc\/ssh\/ssh_known_hosts<\/em> :: Systemwide lista de chaves host conhecidas. Este arquivo deve ser preparado pelo administrador do sistema para conter as chaves host p\u00fablicas de todas as m\u00e1quinas da organiza\u00e7\u00e3o. Deve ser lido\/vis\u00edvel por todos. Veja sshd (8) para mais detalhes sobre o formato deste arquivo.<\/li>\n<li><em>\/etc\/ssh\/sshrc<\/em> :: Comandos deste arquivo s\u00e3o executados por ssh quando o usu\u00e1rio faz login, pouco antes que o shell do usu\u00e1rio (ou comando) \u00e9 iniciado. Veja a p\u00e1gina de manual do sshd (8) para mais informa\u00e7\u00f5es.<\/li>\n<\/ul>\n<h1>Veja tamb\u00e9m<\/h1>\n<ul>\n<li>scp(1),sftp(1),ssh-add(1),ssh-agent(1),ssh-argv0(1),ssh-keygen(1), ssh-keyscan(1),ssh-vulnkey(1),tun(4),hosts.equiv(5),ssh_config(5), ssh-keysign(8),sshd(8)<\/li>\n<li>The Secure Shell (SSH) Protocol Assigned Numbers, RFC 4250, 2006.<\/li>\n<li>The Secure Shell (SSH) Protocol Architecture, RFC 4251, 2006.<\/li>\n<li>The Secure Shell (SSH) Authentication Protocol, RFC 4252, 2006.<\/li>\n<li>The Secure Shell (SSH) Transport Layer Protocol, RFC 4253, 2006.<\/li>\n<li>The Secure Shell (SSH) Connection Protocol, RFC 4254, 2006.<\/li>\n<li>Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints, RFC 4255, 2006.<\/li>\n<li>Generic Message Exchange Authentication for the Secure Shell Protocol (SSH), RFC 4256, 2006.<\/li>\n<li>The Secure Shell (SSH) Session Channel Break Extension, RFC 4335, 2006.<\/li>\n<li>The Secure Shell (SSH) Transport Layer Encryption Modes, RFC 4344, 2006.<\/li>\n<li>Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol, RFC 4345, 2006.<\/li>\n<li>Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, 2006.<\/li>\n<li>The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006.<\/li>\n<li>A. Perrig and D. Song, Hash Visualization: a New Technique to improve Real-World Security, 1999, International Workshop on Cryptographic Techniques and E-Commerce (CrypTEC &#8217;99).<\/li>\n<\/ul>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Sinopse \/ Descri\u00e7\u00e3o Nome: SSH &#8211; Cliente OpenSSH SSH (programa de login remoto) Sinopse: ssh [ -1246AaCfgKkMNnqsTtVvXxYy ] [ -b bind_address ][ -c cipher_spec ] [ -D [bind_address:]port][ -e escape_char ][ -F configfile ][ -i identity_file ] [ -L [bind_address:]port:host:hostport][ -l login_name ][ -m mac_spec ] [ -O ctl_cmd ][ -o option ][ -p port [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42,51],"tags":[60,234,64,204],"class_list":["post-421","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","category-linux-linuxrs","tag-comandos","tag-man","tag-shell","tag-ssh"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=421"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/421\/revisions"}],"predecessor-version":[{"id":422,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/421\/revisions\/422"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}