ssh

Conectar a servidores, executar comandos e criar túneis criptografados.

Antes de executar

No primeiro acesso, confirme a impressão digital da chave do servidor por um canal confiável. -N mantém apenas os encaminhamentos; Ctrl+C encerra estes túneis em primeiro plano. -L resolve e acessa o destino a partir do servidor SSH; -R acessa o destino a partir deste computador. A escuta remota depende da política de encaminhamento do servidor; a vinculação a loopback depende também de GatewayPorts. ExitOnForwardFailure verifica a configuração inicial, não cada destino futuro. -D oferece SOCKS, não uma VPN: configure o cliente separadamente, incluindo DNS remoto quando suportado. Oculte endereços, usuários e caminhos de chaves antes de compartilhar logs detalhados.

Exemplos

Entrar na conta remota, verificar a chave do servidor e autenticar.

ssh alice@server.example.com

Escolher a porta 2222 e uma chave; IdentitiesOnly limita as identidades oferecidas.

ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.com

Acessar o destino por um servidor intermediário com ProxyJump (-J).

ssh -J alice@bastion.example.com alice@internal.example.com

Encaminhamento local: a porta 15432 acessa o banco de dados pelo servidor.

ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.com

Encaminhamento remoto: a porta loopback 18080 do servidor acessa a porta 8080 deste computador.

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.com

Criar uma escuta SOCKS local em 127.0.0.1:1080.

ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Diagnosticar com logs detalhados e dez segundos de limite para estabelecer a conexão.

ssh -vvv -o ConnectTimeout=10 alice@server.example.com

Conecte por dois servidores de salto em ordem. O cliente autentica cada etapa; verifique todas as chaves de host.

ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.com

Exiba as configurações efetivas após Host e Include. A saída pode conter dados sensíveis da conexão.

ssh -G alice@server.example.com

Execute um comando remoto e volte ao terminal local. Use aspas apropriadas para o shell remoto.

ssh alice@server.example.com 'uptime'

Crie e reutilize a conexão, verifique-a e encerre a conexão principal. Proteja ~/.ssh; encerrá-la também fecha as sessões dependentes.

ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.com

Liste categorias de consulta, algoritmos de chave e cifras. O suporte do cliente não garante aceitação pelo servidor.

ssh -Q help
ssh -Q key
ssh -Q cipher

Confira a entrada known_hosts e sua impressão digital. Remova-a somente após confirmar a mudança por canal independente; use o formato exato de host e porta.

ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.com

Use modo não interativo e limite de conexão em scripts. Configure antes a autenticação e a confiança no host; solicitações interativas falham.

ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.com

Use ProxyCommand e -W por um servidor de salto. ProxyJump costuma ser mais simples; verifique as duas chaves de host.

ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.com

Crie um listener SOCKS no loopback do servidor. Outros usuários e processos locais podem acessá-lo; o servidor deve permitir encaminhamento.

ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Configure sondas SSH criptografadas e limite de conexão. Elas detectam falta de resposta, mas não garantem reconexão.

ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.com

Opções e exemplos

-p portComum

Conecte-se à porta do servidor especificada.

Exemplo
ssh -p 2222 alice@server.example.com
-i identity_fileComum

Use o arquivo de chave privada especificado; proteja-o e nunca o compartilhe.

Exemplo
ssh -i ~/.ssh/id_ed25519 alice@server.example.com
-l login_name

Especifique o nome de login remoto.

Exemplo
ssh -l alice server.example.com
-J destinationComum

Conecte-se por meio de um host de salto SSH.

Exemplo
ssh -J alice@bastion.example.com alice@internal.example.com
-L address:port:host:hostportComum

Encaminhe uma porta de escuta local para um destino alcançado pelo servidor SSH.

Exemplo
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com
-R address:port:host:hostportComum

Encaminhe uma porta de escuta remota para um destino alcançado no computador local. A política do servidor pode restringir a vinculação.

Exemplo
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com
-D address:portComum

Crie um ouvinte SOCKS local. Configure cada cliente para utilizá-lo; isso não é uma VPN.

Exemplo
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-NComum

Não execute um comando remoto; útil apenas para encaminhamento.

Exemplo
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-o option=valueComum

Defina uma opção ssh_config para esta invocação. O sucesso da configuração de encaminhamento não garante que um destino seja acessível posteriormente.

Exemplo
ssh -o ExitOnForwardFailure=yes alice@server.example.com
-F configfile

Use um arquivo de configuração de cliente alternativo.

Exemplo
ssh -F ~/.ssh/lab_config alice@server.example.com
-v / -vvvComum

Imprimir saída de diagnóstico; mais caracteres v aumentam os detalhes. Os logs podem conter informações confidenciais de conexão.

Exemplo
ssh -vvv alice@server.example.com
-4 / -6

Use somente IPv4 ou somente IPv6, respectivamente.

Exemplo
ssh -4 alice@server.example.com
-C

Solicite compactação. Pode não melhorar o tráfego já compactado.

Exemplo
ssh -C alice@server.example.com
-T / -t

Desative ou solicite um pseudoterminal, respectivamente.

Exemplo
ssh -t alice@server.example.com
-A

Habilite o encaminhamento do agente. Um host remoto comprometido pode solicitar assinaturas do agente encaminhado; use apenas com hosts confiáveis.

Exemplo
ssh -A alice@server.example.com
-G

Imprima a configuração efetiva do cliente após avaliar as regras de Host e Match.

Exemplo
ssh -G lab
-V

Imprima a versão do cliente SSH instalada.

Exemplo
ssh -V

Referências oficiais

Revisado em 27 de outubro de 2026