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
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?
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
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
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.
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.
Você pode enviar ssh diretamente para um IP local, desde que sua LAN use IPs estáticos, por exemplo, ssh [email protected]
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
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 .
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.
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.
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).
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.
Tags ssh networking