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 / 680621
Accepted
sancho.s ReinstateMonicaCellio
sancho.s ReinstateMonicaCellio
Asked: 2021-12-09 00:39:09 +0800 CST2021-12-09 00:39:09 +0800 CST 2021-12-09 00:39:09 +0800 CST

SSH para PC local usando seu IP externo

  • 772

Eu tenho PC1 e PC2, ambos no Ubuntu, com servidores SSH ativos e atrás do mesmo roteador. Vou usar diferentes prompts do bash por uma questão de clareza. Eu posso ssh de PC1 para PC2 usando o IP local.

[user@PC1]$ ssh [email protected]
/user@PC2/$ logout
Connection to PC2 closed.
[user@PC1]$ ssh [email protected]
/user@PC2/$ logout
Connection to PC2 closed.
[user@PC1]$ dig +short myip.opendns.com @resolver1.opendns.com
<External IP>
[user@PC1]$ ssh [email protected]
/user@PC2/$ dig +short myip.opendns.com @resolver1.opendns.com
<External IP>

Como posso ssh usando o IP externo (que é o mesmo para ambos?

[user@PC1]$ ssh user@<External IP> ... etc?

O procedimento seria diferente do que eu faria se o PC1 e o PC2 estivessem atrás de roteadores diferentes?
Observe que eu pretendia aprender como fazer isso agora que tenho os dois PCs à mão e preparar o PC2 para futuras ocasiões quando estiver fora.

networking ssh
  • 2 2 respostas
  • 265 Views

2 respostas

  • Voted
  1. Marcus Müller
    2021-12-09T03:24:43+08:002021-12-09T03:24:43+08:00

    Como posso ssh usando o IP externo (que é o mesmo para ambos?

    você não pode; você tem um IP externo, como você disse, e nele você tem uma porta 22. Seu roteador não pode saber qual dos seus PCs você quer dizer.

    Duas coisas que você pode fazer:

    1. Encaminhe duas portas externas diferentes para PC1:22 e PC2:22, digamos, porta 2211 e 2222.
    2. configure um servidor SSH no roteador e use-o como "jump host" (veja a -Jopção em man ssh); então você pode ssh -J externalIP [email protected].

    O procedimento seria diferente do que eu faria se o PC1 e o PC2 estivessem atrás de roteadores diferentes?

    sim, porque estes teriam IPs públicos diferentes.

    • 0
  2. Best Answer
    sancho.s ReinstateMonicaCellio
    2021-12-09T03:57:02+08:002021-12-09T03:57:02+08:00

    Graças aos comentários recebidos e pesquisas adicionais com essas diretrizes, cheguei às seguintes conclusões:

    Como posso ssh usando o IP externo (que é o mesmo para ambos)?

    Isso envolve várias etapas, algumas obrigatórias, outras convenientes.

    1. Obrigatório . Configure o encaminhamento de porta no roteador. Adicione um serviço para encaminhamento de porta com os seguintes parâmetros (isso varia entre os roteadores):

      • Nome personalizado : por exemplo, porta SSH 23
      • Tipo de serviço : TCP/UDP (normalmente selecionado em um menu)
      • Porta interna : Porta # no PC2 (aguardando conexões), por exemplo, 22 (padrão).
      • Start/End port : Porta # a ser usada no sshcomando no PC (o cliente). Até agora, só consegui usar o mesmo valor para ambos, por exemplo, 23.
      • Servidor IPv4 : IP local do PC2, por exemplo, 192.168.0.30.
    2. Obrigatório . Conecte-se através de um dos

      [user@PC1]$ ssh user@<External IP> -p 23
      [user@PC1]$ ssh ssh://user@<External IP>:23
      
    3. Opcional . Configure um DNS dinâmico, para que não seja necessário conhecer o <External IP>.

    4. Opcional . Defina um IP fixo para PC2, para que o serviço de encaminhamento de porta nunca perca o destino.

    Notas:

    1. Pode-se definir, como de costume, uma porta interna diferente , por exemplo, 5901, no PC2. Verifique /etc/ssh/sshd_config, ufw, etc. Medidas de segurança aumentadas podem ser consideradas.

      • Edite /etc/ssh/sshd_configcom linha Port 5901em vez do padrão comentado #Port 5901.
      • Defina uma regra de firewall com $ sudo ufw allow 5901/tcp.
      • Reinicie com $ sudo service ssh restart.
      • Altere a porta interna no encaminhamento de porta do roteador.
    2. Pode-se provavelmente ssh para mais de um PC atrás do mesmo roteador, configurando os serviços de encaminhamento de porta correspondentes .

    O procedimento seria diferente do que eu faria se o PC1 e o PC2 estivessem atrás de roteadores diferentes?

    Eu não tentei isso ainda, mas eu suspeito que é exatamente o mesmo. Ao usar [user@PC1]$ ssh user@<External IP> -p 23, acho que meu roteador não sabe (ou se importa) que estou ssh'ing de um PC1 que está realmente conectado à Internet por si mesmo.

    • 0

relate perguntas

  • 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

  • Incapaz de identificar qual saída de endereço MAC do comando arp ou comando ip está correta

  • Roteador estranho funciona com centos 6 [fechado]

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

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

    • 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

    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
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • 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
    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

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