SSH - Tradução da man page

Estou disponibilizando o manual traduzido do SSH (Secure Shell) para que os interessados tenham maior facilidade em compreender o SSH e suas funções.

[ Hits: 12.921 ]

Por: Gustavo Henrique Goncalves em 04/03/2013


Sinopse / Descrição



Nome:

SSH - 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 ][ -R [bind_address:]port:host:hostport]
    [ -S ctl_path ][ -w local_tun [:remote_tun]] [[email protected]]hostname [ command ]

Descrição:

O SSH (cliente SSH) é um programa para conectar-se e executar comandos em máquina remota. É proposital substituir o "rlogin" e o "rsh" e prover comunicações criptografadas de forma segura entre dois hosts não confiáveis sobre uma rede não segura. As conexões X11 e portas TCP arbitrárias, também podem ser encaminhadas através do canal seguro.

O SSH conecta-se e faz o login em um hostname específico (com nome de usuário opcional). O usuário deve provar sua identidade à máquina remota usando um dos vários métodos, dependendo da versão usada do protocolo (veja abaixo).

Se o comando é especificado, ele é executado em um host remoto ao invés de um acesso shell.

As opções estão a seguir:

-1 :: Obriga o SSH a tentar somente a versão 1 do protocolo;

-2 :: Obriga o SSH a tentar somente a versão 2 do protocolo;

-4 :: Obriga o SSH a usar somente endereços IPv4;

-6 :: Obriga o SSH a usar somente endereços IPv6;

-A :: Ativa o encaminhamento de uma conexão de autenticação de agente. Isto também pode ser especificado numa base por host em um arquivo de configuração.

O agente encaminhado deve ser ativado com cuidado. Usuários com a habilidade de ignorar arquivos de permissões em um host remoto (para o socket Unix-domain do agente) podem acessar o agente local pela conexão encaminhada.

Um atacante não pode obter material chave de um agente, porém, ele pode executar operações nas chaves que permite sua autenticação usando identidades carregadas no agente.

-a :: Desativa o encaminhamento da conexão da autenticação do agente;

-b bind_address :: Usa bind_address na máquina local como o endereço origem da conexão. É útil somente em sistemas com mais de um endereço.

-C :: Requer compressão de todos os dados (incluindo stdin, stdout, stderr, e dados encaminhados via X11 e conexões TCP). O algoritmo de compressão é o mesmo usado pelo gzip(1), e o "nível" pode ser controlado pela opção "CompressionLevel" da versão 1 do protocolo.

A compressão é desejada em linhas de modem e outras conexões mais lentas, mas irá somente diminuir as coisas em conexões rápidas. O valor padrão pode ser definido em uma base host-para-host nos arquivos de configuração.

Veja a opção compressão:

-c cipher_spec :: Seleciona a especificação de cifra para criptografar a sessão. A versão 1 do protocolo permite a especificação de uma cifra única.

Os valores suportados são "3des", "blowfish", e "des":
  • O "3des" (triplo-des) é uma tripla (encripta-decripta-encripta) com três diferentes chaves. Acredita-se que seja seguro.
  • O "blowfish" é uma cifra de bloco rápida, parece ser muito seguro e bem mais rápido que o 3des.
  • O "des" é suportado somente no cliente ssh para interoperabilidade com a implementação do protocolo 1 que não suporta a cifra 3des. Seu uso é fortemente desencorajado devido às deficiências criptográficas. O padrão é o "3des".

Para a versão 2 do protocolo, cipher_spec é uma lista de cifras separadas por vírgula listadas em ordem de preferência. Veja a palavra-chave "Ciphers" para mais informações.

-D [bind_address:]porta :: Especifica um encaminhamento de uma porta de nível de aplicação local "dinâmica". Funciona alocando um socket para escutar a porta no lado local, opcionalmente limitado pelo específico "bind_address".

Quando uma conexão é feita nessa porta ela é encaminhada sobre o canal seguro, e o protocolo da aplicação é depois usado para determinar onde se conectar na máquina remota.

Atualmente os protocolos SOCKS4 e SOCKS5 são suportados, e o SSH irá atuar como um servidor SOCKS. Somente o usuário root pode encaminhar portas privilegiadas. Encaminhamentos dinâmicos de portas podem ser especificados no arquivo de configuração.

Endereços IPv6 podem ser especificados com uma sintaxe alternativa:

[ bind_address/]porta

Ou colocando o endereço entre chaves. Somente o superusuário pode encaminhar portas privilegiadas. Por padrão a porta local é limitada de acordo com a configuração do GatewayPorts. Porém um "bind_address" explícito pode ser usado para ligar a conexão com o endereço específico.

O "bin_address" de "localhost" indica que a porta escutada pode ser limitada somente para o usuário local, enquanto um endereço vazio, ou '*', indica que a porta deve estar disponível para todas as interfaces.

-e escape_char :: Define o caractere de escape para sessões com tty (default: "~"). O caractere de escape é somente reorganizado no começo de uma linha. Se o caractere de escape for seguido por um ponto ('.') fecha a conexão; seguido por Ctrl-Z suspende a conexão; e seguido por si mesmo envia o caractere de escape uma vez. Definindo o caractere como "none"/"nenhum" desativa quaisquer escapes e torna a sessão completamente transparente.

-F configfile :: Especifica um arquivo de configuração alternativo por usuário. Se um arquivo de configuração é passado por linha de comando, o arquivo de configuração de todo o sistema (/etc/ssh/ssh_config) será ignorado. O padrão para um arquivo de configuração por usuário é: ~/.ssh/config.

-f :: Pede para o SSH ir para background antes da execução do comando. É útil se o SSH vai perguntar por senhas ou frases secretas, mas o usuário o quer em background. Isto implica em "-n". O modo recomendado para iniciar programas X11 em um site remoto é com alguma coisa do tipo: ssh -f host xterm.

Se a opção de configuração "ExitOnForwardFailure" for definida como "yes", logo, um cliente iniciado com "-f" irá esperar por todos os encaminhamentos das portas remotas serem estabelecidas com sucesso antes de colocarem a si mesmos em background.

-g :: Permite hosts remotos conectarem-se à portas de encaminhamento locais.

-I smartcard_device :: Especifica o dispositivo que SSH deve usar para se comunicar com um smartcard usado para guardar a chave privada RSA dos usuários. Esta opção está disponível apenas se o suporte para dispositivos smartcards forem compilados (padrão não é suportado).

-i identity_file :: Seleciona um arquivo de onde cada identidade (chave privada) para autenticações RSA ou DAS são lidas. O padrão é ~/.ssh/identity para a versão 1 do protocolo, e ~/.ssh/id_rsa e ~/.ssh/id_dsa para a versão 2 do protocolo.

Arquivos de identidade devem ser especificados em uma base por host em um arquivo de configuração. É possível ter múltiplas opções "-i" (e múltiplas identidades especificadas em um arquivo de configuração).

-K :: Ativa a autenticação GSSAPI e encaminha (delegação) das credenciais GSSAPI para o servidor.

-k :: Desativa o encaminhamento (delegação) das credenciais GSSAPI para o servidor.

-L [bind_address:]port:host:hostport :: Especifica que a porta passada no host local (cliente) deve ser encaminhada para o host passado e porta no lado remoto.

Isso funciona basicamente alocando-se um socket para escutar uma porta no lado local, opcionalmente ligada ao "bind_address". Sempre que uma conexão é feita nessa porta, a conexão é encaminhada sobre o canal seguro, e a conexão é feita na porta do host (host port) da máquina remota.

Encaminhamentos de portas podem ser especificados em um arquivo de configuração. Endereços IPv6 podem ser especificados com uma sintaxe alternativa:

[ bind_address/]port/host/hostport

Ou, colocando o endereço entre chaves. Somente o superusuário pode encaminhar portas privilegiadas. Por padrão, a porta local é ligada de acordo com a configuração GatewayPorts. Porém, um "bind_address" explícito pode se usado para ligar a conexão a um endereço específico.

O "bind_address" de um "localhost" indica que a porta que escuta seja ligada somente para o usuário local, enquanto um endereço vazio, ou '*', indica que a porta deve estar disponível para todas as interfaces.

-l login_name :: Especifica o usuário a logar na máquina remota. Isto também pode ser especificado em uma base por host em um arquivo de configuração.

-M :: Coloca o cliente SSH no modo "master" para compartilhamento de conexão. Múltiplas opções "-M" coloca o SSH no modo "master" com confirmação necessária antes que conexões escravas sejam aceitas. Veja a descrição do ControlMaster em "ssh_config(5)" para mais detalhes.

-m mac_spec :: Adicionalmente, para o protocolo versão 2, uma lista de algoritmos MAC (código de autenticação de mensagem) separada por vírgulas pode ser especificada em ordem de preferência. Veja a palavra chave MAC para mais informações.

-N :: Não executa um comando remoto. Pode ser útil apenas para portas de encaminhamento (apenas protocolo versão 2).

-n :: Redireciona a saída "stdin" para /dev/null (na verdade, previne a leitura do "stdin"). Deve ser usado quando o SSH roda em background. Um truque comum é usar isso para executar programas X11 em uma máquina remota. Por exemplo:

ssh -n shadows.cs.hut.fi emacs &

Irá iniciar um Emacs em shadows.cs.hut.fi, e a conexão X11 será automaticamente encaminhada sobre um canal criptografado. O programa SSH irá ser colocado em background (isso não funciona se o SSH precisar perguntar por uma senha ou frase secreta. Veja também a opção: -f).

-O ctl_cmd :: Controla uma conexão ativa multiplexando processos mestre. Quando a opção "-O" é especificada, o argumento "ctl_cmd" é interpretado e passado para o processo mestre. Os comandos válidos são:
  • check :: Checa se o processo mestre está executando;
  • exit :: Solicita o mestre para sair.

-o option :: Pode ser usado para fornecer opções no formato usado no arquivo de configuração. Isto é útil para especificar opções que não são separadas por uma flag de linha de comando.

Para detalhes completos das opções listadas abaixo, e seus possíveis valores, veja o "ssh_config(5)":
  • AddressFamily
  • BatchMode
  • BindAddress
  • ChallengeResponseAuthentication
  • CheckHostIP
  • Cipher
  • Ciphers
  • ClearAllForwardings
  • Compression
  • CompressionLevel
  • ConnectionAttempts
  • ConnectTimeout
  • ControlMaster
  • ControlPath
  • DynamicForward EscapeChar
  • ExitOnForwardFailure
  • ForwardAgent
  • ForwardX11
  • ForwardX11Trusted
  • GatewayPorts
  • GlobalKnownHostsFile
  • GSSAPIAuthentication
  • GSSAPIDelegateCredentials
  • HashKnownHosts
  • Host
  • HostbasedAuthentication
  • HostKeyAlgorithms
  • HostKeyAlias
  • HostName
  • IdentityFile
  • IdentitiesOnly
  • KbdInteractiveDevices
  • LocalCommand
  • LocalForward
  • LogLevel
  • MACs
  • NoHostAuthenticationForLocalhost
  • NumberOfPasswordPrompts
  • PasswordAuthentication
  • PermitLocalCommand
  • Port
  • PreferredAuthentications
  • Protocol
  • ProxyCommand
  • PubkeyAuthentication
  • RekeyLimit
  • RemoteForward
  • RhostsRSAAuthentication
  • RSAAuthentication
  • RemoteForward
  • RhostsRSAAuthentication
  • RSAAuthentication
  • SendEnv
  • ServerAliveInterval
  • ServerAliveCountMax
  • StrictHostKeyChecking
  • TCPKeepAlive
  • Tunnel
  • TunnelDevice
  • UsePrivilegedPort
  • User
  • UserKnownHostsFile
  • VerifyHostKeyDNS
  • VisualHostKey
  • XAuthLocation

-p porta :: Porta para conectar no host remoto. Isto pode ser especificado em uma base por host no arquivo de configuração.

-q :: Modo quieto. Faz com que a maioria das mensagens de aviso e diagnóstico sejam suprimidas. Apenas erros fatais são exibidos. Se um segundo "-q" é dado, então, mesmo erros fatais são suprimidos, exceto aqueles produzidos por argumentos errados.

-R [endereço_de_ligação:]porta:host:porta_do_host :: Especifica que a dada porta no host (servidor) remoto será direcionada para o host e porta dados no lado no local.

Isto funciona por meio de uma alocação de socket para escutar a porta no lado remoto, e quando a conexão é feita nesta porta, a conexão é direcionada sobre um canal seguro, e uma conexão é feita para host na porta "porta_do_host" da máquina local.

Direcionamento de portas pode também ser especificado no arquivo de configuração. Portas privilegiadas só podem ser direcionadas quando estiver logado como root na máquina remota. Endereços IPv6 podem ser especificados por meio de uma inclusão do endereço entre colchetes ou usando uma sintaxe alternativa:

[bind_address/]host/port/hostport

Por padrão o socket que está escutando no servidor será ligado para a interface de loopback somente. Isto pode ser sobrescrito especificando um endereço_de_ligação. Um endereço_de_ligação vazio, ou o endereço '*', indica que o socket remoto deve escutar em todas as interfaces. Especificando um endereço_de_ligação remoto só irá ter sucesso se a opção GatewayPorts do servidor estiver habilitada (veja: ssh_config(5) ).

Se o argumento porta for '0', a porta de escuta será dinamicamente alocada no servidor e reportada para o cliente em tempo de execução. Quando usado junto com "-O forward", a porta alocada será impressa na saída padrão.

-S caminho_ctl :: Especifica a localização de um socket de controle para compartilhamento de conexão, ou a cadeia "none" para desabilitar o compartilhamento de conexão. Consulte a descrição de ControlPath e ControlMaster em ssh_config(5) para mais detalhes.

-s :: Pode ser usado para requisitar uma invocação de um subsistema no sistema remoto. Subsistemas são uma característica do protocolo SSH2 o qual facilita o uso do SSH como um transporte seguro para outras aplicações (ex.: sftp(1)). O subsistema é especificado como o comando remoto.

-T :: Desativa a alocação de pseudo-tty.

-t :: Força a alocação pseudo-tty. Isto pode ser usado para executar programas arbitrários baseados em tela em uma máquina remota, o qual pode ser muito útil, por exemplo, quando estiver implementando serviços de menu. Múltiplas opções "-t" forçam a alocação tty, mesmo se o SSH não tem um tty local.

-V :: Mostra o número da versão e sai.

-v :: Modo de detalhe. Faz o SSH imprimir mensagens de depuração sobre o seu progresso. Isto é útil para depurar problemas de conexão, autenticação e configuração. Múltiplas opções "-v" aumentam o detalhamento. O máximo é 3.

-w - local_tun[:remote_tun] :: Requisita um encaminhamento de dispositivo de encapsulamento com os dispositivos tun(4) especificados entre o cliente (local_tun) e o servidor (remote_tun).

Os dispositivos podem ser especificados por ID numérico ou pela palavra-chave "any" (qualquer), que faz utilizar o próximo dispositivo de encapsulamento disponível.

Se "remote_tun" não for especificado, "any" é utilizado por padrão. Veja também as diretivas Tunnel e TunnelDevice em ssh_config(5). Se a diretiva Tunnel estiver indefinida, será definido o modo de encapsulamento padrão, que é "point-to-point" (ponto-a-ponto).

-X :: Habilita o encaminhamento de X11. Isto pode ser especificado por host no arquivo de configuração.

O encaminhamento de X11 deve ser habilitado com cuidado. Usuários com a habilidade de contornar permissões de arquivos no host remoto (para o banco de dados de autorização X do usuário) podem acessar o display X11 local através da conexão encaminhada.

Uma pessoa pode atacar e conseguir fazer atividades como monitoramento de teclas pressionadas. Por esta razão, o encaminhamento X11 está sujeito, por padrão, à extensão de restrições X11 SECURITY (segurança).

Por favor, refira-se à opção "-Y" do SSH e a diretiva ForwardX11Trusted no "ssh_config(5)" para mais informações.

-x :: Desativa o encaminho de X11.

-Y :: Habilita o encaminhamento confiável de X11. O encaminhamento confiável de X11 não está sujeito aos controles de extensão X11 SECURITY.

-y :: Envia informações do log utilizando o módulo de sistema syslog(3). Por padrão, esta informação é enviada para stderr.

O SSH, adicionalmente, poderá obter dados de configuração de um arquivo de configuração por usuário e um arquivo abrangente do sistema. O formato do arquivo e as opções de configuração, são descritos em "ssh_config(5)".

O SSH sai com o status de saída do comando remoto, ou com 255, se um erro ocorrer.

    Próxima página

Páginas do artigo
   1. Sinopse / Descrição
   2. Autenticação
   3. Caracteres / Encaminhamento / Chaves de host
   4. Base Virtual / Ambiente / Files
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Deixando o BunsenLabs cinza de novo

A arte do tetra-boot

Criando e fechando portas no seu Linux

Compilando o KDE 4.0 no Slackware Current

Tutorial de instalação LTSP 4.2 (Linux Terminal Server Project) no OpenSuSE 10.2

  
Comentários
[1] Comentário enviado por djosino em 04/03/2013 - 10:46h

perfeito

[2] Comentário enviado por pmartelotta em 04/03/2013 - 13:20h

Show de bola hein...!

[3] Comentário enviado por lucianofsjr em 08/03/2013 - 11:33h

parabéns cara!!
muito bom!!

[4] Comentário enviado por removido em 18/03/2013 - 00:13h

Parabéns!

Você teria o texto naquela linguagem de marcação de manpage, roff, groff, troff, sei lá o nome, disponibilizada para download, prá instalar aqui?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts