AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 424183
Accepted
mikeb
mikeb
Asked: 2018-02-15 08:46:23 +0800 CST2018-02-15 08:46:23 +0800 CST 2018-02-15 08:46:23 +0800 CST

Qual é a opção .ssh/config correspondente para ssh -N

  • 772

Quero configurar um alias no meu arquivo de configuração que tenha o mesmo resultado deste comando:

ssh -N devdb -L 1234:127.0.0.1:1234

Minha entrada .ssh/config para devdb:

Host devdb
User someuser
HostName the_hostname
LocalForward 1234 127.0.0.1:1234

O que coloco na configuração acima para não iniciar um shell?

ssh ssh-config
  • 3 3 respostas
  • 6310 Views

3 respostas

  • Voted
  1. Best Answer
    thrig
    2018-02-15T09:35:46+08:002018-02-15T09:35:46+08:00

    Então, ssh.cpara o OpenSSH 7.6p1, encontramos

                case 'N':
                        no_shell_flag = 1;
                        options.request_tty = REQUEST_TTY_NO;
    

    o mesmo -Nacontece com duas coisas:

    • o no_shell_flagsó aparece ssh.ce só é ativado para as opções -Wou -N, caso contrário, ele aparece em alguns blocos lógicos relacionados ControlPersiste verificações de sanidade envolvendo bifurcações em segundo plano. Não vejo como uma opção poderia configurá-lo diretamente.
    • de acordo com readconf.co que request_ttycorresponde à RequestTTYopção detalhada em ssh_config(5).

    Isso deixa (além de corrigir o OpenSSH e recompilar, ou solicitar uma ssh_configopção para alternar no_shell_flagcom ...) algo como:

    Host devdb
     User someuser
     HostName the_hostname
     LocalForward 1234 127.0.0.1:1234
     RequestTTY no
     RemoteCommand cat
    

    O que tecnicamente inicia um shell, mas esse shell deve se substituir imediatamente pelo catprograma que deve bloquear, permitindo que o encaminhamento de porta seja usado enquanto isso. caté portátil, mas consumirá entrada (se houver) ou poderá falhar (se a entrada padrão estiver fechada). Outra opção seria executar algo que apenas bloqueia arquivos .

    • 31
  2. WEBjuju
    2018-02-15T09:42:04+08:002018-02-15T09:42:04+08:00

    @thrig tem a resposta certa com base no seu desejo de fazer isso apenas dentro.ssh/config

    Pode-se também considerar o uso de uma função com padrões para agilizar outros comandos de túnel (especialmente se o túnel não mudar, mas apenas o host).


    sshn() {
      # set your desired host and port forwarding as default
      # and allow them to be passed in if you should need it
    
      host="${1:-devdb}"
      port="${2:-1234:127.0.0.1:1234}"
    
      # now all you have to do is `sshn` and it will connect
    
      echo "executing ssh -N $host -L $port"
      ssh -N "$host" -L "$port"
    }
    

    Aqui estão três exemplos de uso: sem argumentos, os padrões especificados na função são usados:

    $ sshn
    executing -N devdb -L 1234:127.0.0.1:1234
    

    com padrão de túnel, execute em um host diferente:

    $ sshn host2
    executing ssh -N host2 -L 1234:127.0.0.1:1234
    

    com ambos os padrões, execute um one-off completo para um novo host/túnel:

    $ sshn host3 12345:127.0.0.1:12345
    executing ssh -N host3 -L 12345:127.0.0.1:12345
    
    • 3
  3. Tobias Sette
    2019-02-12T04:42:38+08:002019-02-12T04:42:38+08:00

    Um comando remoto mais útil com base na resposta de @thrig:

    Host someHost
    Hostname 1.2.3.4
    LocalForward 15673 localhost:15672
    RequestTTY no
    RemoteCommand bash -c 'echo "Listening on port 15673"; read -r -d '' _'
    

    O read -r -d '' _bloqueará a conexão até que o usuário pressione control+c.

    • 0

relate perguntas

  • Por que o utilitário ssh é considerado um pty?

  • Auto-SSH funciona manualmente, mas não em segundo plano

  • Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]

  • rsync porta 22 e 873 uso

  • Aborto repentino do SCP: tubo quebrado, código de autenticação de mensagem incorreto

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve