Qual é o melhor caminho para o SSH para máquinas na rede local?

54

Eu tenho dois computadores, um que eu uso e outro para as crianças. Eu quero ser capaz de ssh em seu computador para controlá-lo (como desligá-lo etc), mas estou curioso a melhor maneira de fazer isso. Nós dois estamos na mesma casa e compartilhamos a mesma conexão com a internet.

Qual seria a melhor maneira de fazer isso? De pesquisa, eu li para instalar o openssh-server no computador remoto, mas estou perplexo com o que usar para o nome do host ao tentar se conectar. Normalmente, para o VPS, é o IP externo, mas como ambos compartilhamos uma conexão wifi, seria o IP do hardware? Devemos estar interagindo diretamente pela LAN ou pela Internet?

    
por dukevin 07.06.2013 / 13:45

9 respostas

53

Executar:

avahi-browse -tl _workstation._tcp

Para obter uma lista de estações de trabalho do Ubuntu na rede local, você pode se conectar a elas executando:

ssh <username>@<computer-name>.local
    
por Eric Carvalho 07.06.2013 / 14:16
14

Você pode usar o endereço IP para ssh no computador da criança. Se você quiser usar o nome do computador, edite seu arquivo / etc / hosts para incluir o nome do computador.

192.168.1.104  dad
192.168.1.105  kids
    
por Ed Manet 07.06.2013 / 13:52
8

Eu uso o arquivo ~ / .ssh / config que o ssh interpreta automaticamente, aqui está um exemplo:

Host *
ControlMaster auto
ControlPath /tmp/%r@%h:%p

KeepAlive yes 
ServerAliveInterval 60
ServerAliveCountMax 10
ControlPersist 1h

Host server1
        User user1
        HostName server1-web.example.org

Host server2
        User user2
        HostName server2-db.example.org
        Compression yes
        IdentityFile /home/user/.ssh/different_key.pem

Observe que você pode usar qualquer variável (clientside) nesse arquivo e configurá-la globalmente ou por servidor.

    
por Shadok 07.06.2013 / 16:53
7

Antes de fazer o ssh, verifique o cliente e o servidor ssh. Se você não tiver esses serviços, instale

 sudo apt-get install openssh-client

 sudo apt-get install openssh-server

Se você já acabou de fazer

 ssh username@ipaddress

 Enter connecting device login password.

Exemplo:

 ssh [email protected]

 [email protected]'s password:********

Se você recebeu algum erro como: "Permissão negada, tente novamente."

Por favor, verifique duas vezes o nome de usuário e o ip.

    
por PAC 07.03.2014 / 13:51
4
  1. Você pode enviar ssh diretamente para um IP local, desde que sua LAN use IPs estáticos, por exemplo, ssh [email protected]

  2. Você pode editar o arquivo hosts em ambos os computadores, como mencionado por Ed Manet em sua resposta . Dessa forma, você pode usar ssh usando o nome do host do computador, que é ssh someuser@some_hostname

  3. Você pode configurar um servidor DNS local para resolver os hosts da LAN. Dessa forma, você poderá usar o nome do host do computador como na opção 2, mas com o benefício adicional de evitar a edição de todos os arquivos de hosts, apontando seu servidor DNS nas configurações de rede do Ubuntu.

DNSMasq é um bom servidor DNS fácil de configurar.
Outra opção é BIND .

    
por Stef K 07.06.2013 / 14:13
3

Use o endereço IP da LAN local. A abordagem alternativa requer que alguma porta seja aberta à Internet, para permitir que você faça o login.

Além disso, você precisaria de mapeamento de porta (no roteador). Usando o seu endereço IP 'público' (no roteador) como destino, não será conectado a um dos dois PCs.

A maneira mais simples é atribuir permanentemente cada endereço IP (para seus 2 computadores) no roteador. Em seguida, simplesmente conecte-se a esse endereço IP.

Se você quiser ser inteligente (mais tarde), configure um servidor e comece a usar um serviço DNS local para atribuir nomes significativos a cada dispositivo. Não vale realmente a pena por apenas 2 PCs.

    
por david6 07.06.2013 / 14:16
2

Se você estiver compartilhando a mesma conexão com a Internet, provavelmente estará atrás do mesmo roteador wifi. Então você se conecta diretamente ao seu computador infantil:

ssh <IP-address>

ou:

ssh <user-name>@<IP-address>

Obviamente, isso funciona melhor se o computador das crianças tiver endereço IP estático. Caso contrário, você sempre precisa verificar o que é o IP. A maioria dos roteadores tem a opção de atribuir IP estático (sempre o mesmo) aos dispositivos escolhidos. Alguns roteadores também têm a opção de atribuir nome de host a determinado dispositivo - então, para qualquer dispositivo no mesmo endereço de rede, "crianças" significaria o mesmo. Se você atribuir nomes de host com o arquivo / etc / hosts, o nome do host será conhecido apenas àquele computador no qual o arquivo host está. Além disso, isso pressupõe que o computador das crianças tenha um endereço IP estático.

Você pode definir o IP estático para o computador infantil também nessa máquina, mas aconselho a configuração onde as configurações de rede são feitas no roteador. Um ponto de controle - mais fácil de gerenciar. Se algo não estiver claro, deixe um comentário e expandirei minha resposta.

    
por Tanel Mae 07.06.2013 / 14:20
0

Você pode usar o endereço IP no lugar de um nome de host ou atribuir um nome de host personalizado ao arquivo /etc/hosts .

Para obter o IP no computador da criança: no menu da rede, consulte "Informações da conexão" ou executando ifconfig na linha de comando (isso deve ser feito no computador da criança).

Seu roteador Wi-Fi atribui esses endereços IP e você deve configurá-lo para manter endereços IP específicos para os computadores aos quais eles estão atualmente atribuídos. (Caso contrário, os IPs podem mudar de tempos em tempos).

    
O
por AmanicA 26.06.2013 / 22:10
0

Você pode simplesmente atribuir um nome de computação à máquina do seu filho.
Então, basta fazer isso, ssh MachineName

Eu nunca usei isso, apenas um pensamento na minha cabeça que eu compartilhei.

    
por Gaurav Gandhi 28.01.2014 / 04:27