Каков наилучший способ SSH для машин в локальной сети?

У меня есть 2 компьютера, один из которых я использую, и один для детей. Я хочу иметь возможность ssh на свой компьютер, чтобы контролировать его (например, закрывать его и т. Д.), Но любопытно, как это сделать. Мы оба находимся в одном доме и имеем одно и то же подключение к Интернету.

Какой был бы лучший способ сделать это? Из исследования я прочитал, чтобы установить openssh-сервер на удаленном компьютере, но я не понимаю, что использовать для имени хоста при попытке подключения. Обычно для VPS это внешний IP, но поскольку мы оба совместно используем Wi-Fi-соединение, это будет аппаратный IP-адрес? Должны ли мы взаимодействовать непосредственно по локальной сети или через интернет?

Бег:

avahi-browse -tl _workstation._tcp 

Чтобы получить список рабочих станций Ubuntu в локальной сети, вы можете подключиться к ним, запустив:

 ssh <username>@<computer-name>.local 

Вы можете использовать IP-адрес для ssh на компьютере ребенка. Если вы хотите использовать имя компьютера, отредактируйте файл / etc / hosts, чтобы включить имя компьютера.

 192.168.1.104 dad 192.168.1.105 kids 

Я использую файл ~ / .ssh / config, который ssh ​​автоматически анализирует, вот пример:

 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 

Обратите внимание, что вы можете использовать любую (clientide) переменную в этом файле и либо установить ее глобально, либо на сервер.

Прежде чем делать ssh, проверьте для ssh клиент и сервер. Если у вас нет этой службы установки

  sudo apt-get install openssh-client sudo apt-get install openssh-server 

Если вы уже сделали это

  ssh username@ipaddress Enter connecting device login password. 

Пример :

  ssh prem@192.168.1.145 prem@192.168.1.145's password:******** 

Если у вас возникли такие ошибки, как: «Разрешить отказ, повторите попытку».

Дважды проверьте имя пользователя и ip.

  1. Вы можете использовать ssh непосредственно на локальном IP при условии, что ваша ЛВС использует статические IP-адреса, например
    ssh someuser@192.168.1.2

  2. Вы можете редактировать файлы хостов на обоих компьютерах, как упоминал Эд Мане в его ответе . Таким образом, вы можете ssh использовать имя компьютера компьютера, то есть ssh someuser@some_hostname

  3. Вы можете настроить локальный DNS-сервер для разрешения хостов вашей локальной сети. Таким образом, вы сможете использовать ssh с использованием имени хоста компьютера, как в варианте 2, но с дополнительным преимуществом – избегать редактирования каждого файла хостов, указав свой DNS-сервер в сетевых настройках Ubuntu.

DNSMasq – довольно хороший DNS-сервер, который легко настроить.
Другой вариант – BIND .

Используйте локальный IP-адрес локальной сети. Альтернативный подход требует, чтобы какой-то порт был открыт для Интернета, чтобы вы могли войти в систему.

Кроме того, вам понадобится сопоставление портов (на маршрутизаторе). Использование вашего «общедоступного» IP-адреса (на маршрутизаторе) в качестве цели не будет подключаться ни к одному из ваших двух ПК.


Самый простой способ – навсегда назначить каждый IP-адрес (для ваших 2 компьютеров) на маршрутизаторе. Затем просто подключитесь к этому IP-адресу.

Если вы хотите стать умнее (позже), настройте сервер и начните использовать локальную службу DNS для назначения значимых имен для каждого устройства. Не стоит беспокоиться только за 2 ПК.

Если вы используете одно и то же интернет-соединение, вы, скорее всего, находитесь за одним и тем же Wi-Fi-маршрутизатором. Таким образом, вы подключаетесь непосредственно к компьютеру своих детей:

 ssh <IP-address> 

или:

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

Очевидно, что это работает лучше, если компьютер для детей имеет статический IP-адрес. В противном случае вам всегда нужно проверить, что такое IP. Большинство маршрутизаторов имеют возможность назначать статический (всегда одинаковый) IP выбранным устройствам. Некоторые маршрутизаторы также имеют возможность назначать имя хоста определенному устройству – тогда для любого устройства в том же сетевом адресе «дети» означают одно и то же. Если вы присваиваете имена хостам файлу / etc / hosts, имя хоста известно только на том компьютере, на котором находится этот файл хоста. Также предполагается, что компьютер для детей имеет статический IP-адрес.

Вы можете установить статический IP-адрес в компьютер для детей также на этом компьютере, но я советую настройку, где сетевые настройки выполняются в маршрутизаторе. Один пункт управления – проще управлять. Если что-то неясно, оставьте комментарий, и я расширю свой ответ.

Вы можете использовать IP-адрес вместо имени хоста или назначить собственное имя хоста в /etc/hosts .

Чтобы получить IP-адрес на компьютере ребенка: в сетевом меню см. «Информация о соединении» или запустите ifconfig в командной строке (это нужно сделать на компьютере ребенка).

Ваш Wi-Fi-маршрутизатор назначает эти IP-адреса, и вы должны иметь возможность настроить его для сохранения определенных IP-адресов для компьютеров, которым они в настоящее время назначены. (В противном случае IP может время от времени меняться).

Вы можете просто присвоить имя вычисления имени вашему ребенку.
Тогда просто сделайте,
ssh MachineName

Я никогда не использовал это, просто мысль в моей голове.