🐧 Как назначить IP-адрес удаленным Linux-системам через SSH |

🐧 Как назначить IP-адрес удаленным Linux-системам через SSH

Мануал

Мы уже узнали, как задать статический IP-адрес для системы Linux, а также как настроить несколько IP-адресов в системе Linux.

В этом руководстве мы узнаем, как назначить IP-адрес удаленной Linux-системе с помощью команды nmcli.

Существует ряд причин, по которым может потребоваться изменить IP-адрес удаленной Linux-системы.

К числу распространенных причин относятся:

  • Для соблюдения сетевых политик: Во многих организациях существуют политики, требующие, чтобы все устройства в сети имели определенный диапазон IP-адресов. Если удаленная система Linux не соответствует этим требованиям, то может потребоваться изменить ее IP-адрес.
  • Для устранения сетевых проблем: Если удаленная система Linux испытывает проблемы с сетью, изменение ее IP-адреса иногда помогает решить проблему.
  • Для переноса системы в новую сеть: При переносе удаленной системы Linux в новую сеть необходимо изменить ее IP-адрес, чтобы он соответствовал диапазону адресов новой сети.
  • Для повышения безопасности: Изменение IP-адреса удаленной Linux-системы может затруднить злоумышленникам ее поиск и атаку.

Независимо от причин, если вам вдруг понадобится изменить IP-адрес удаленной Linux-системы, это можно легко сделать с помощью команды nmcli.

🖧 Как изменить имя хоста в Linux с помощью nmcli

Назначение IP-адреса удаленной Linux-системе с помощью команды nmcli

Прежде чем назначать IP-адрес удаленной Linux-системы с помощью nmcli, необходимо найти сетевой интерфейс этой системы.

Для этого выполните команду:

ssh itsecforu@192.168.1.40 'nmcli con show'

🐧 Как найти доступные сетевые интерфейсы в системах Linux

Замените имя пользователя и IP-адрес на свои собственные.

Пример вывода:

NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  60e8eaf3-89f9-3e9f-9919-1944e7abee20  ethernet  ens18

Как видно из приведенного результата, имя сетевого подключения – ‘Wired connection 1’.

Теперь изменим IP-адрес с помощью команды:

ssh -t itsecforu@192.168.1.40 "sudo nmcli con modify 'Wired connection 1' ipv4.address 192.168.1.50/24"

Здесь флаг -t в команде ssh заставляет ее выделять псевдотерминал, что позволяет sudo запрашивать пароль.

При выполнении этой команды ssh должен запросить пароль удаленного пользователя (если требуется), а затем sudo запросит пароль на удаленной машине.

Другими словами, вам будет предложено ввести пароль удаленного пользователя дважды.

Ниже приводится полное описание приведенной выше команды.

  • ssh: Это команда Secure Shell, которая используется для установления безопасного соединения с удаленной машиной.
  • -t: Эта опция заставляет выделять псевдотерминал. Здесь она используется для того, чтобы убедиться, что на удаленной стороне выделен терминал, что позволяет sudo запрашивать пароль при необходимости.
  • itsecforu@192.168.1.40: Здесь указывается удаленный пользователь и хост, к которому вы подключаетесь. Замените itsecforu на реальное имя пользователя, а 192.168.1.40 – на IP-адрес вашей удаленной системы.
  • “sudo nmcli con modify ‘Wired connection 1’ ipv4.address 192.168.1.50/24”: Это команда, которая выполняется на удаленной машине после установления SSH-соединения.
  • sudo: Запускает следующую команду от имени суперпользователя (или другого пользователя), при условии, что пользователь имеет необходимые права.
  • nmcli: Интерфейс командной строки NetworkManager, инструмент для управления NetworkManager (демон, управляющий сетевыми настройками во многих дистрибутивах Linux).
  • con modify: Эта опция используется для изменения настроек конкретного сетевого соединения.
  • ‘Wired connection 1’: Имя сетевого подключения, которое необходимо изменить. Оно заключено в одинарные кавычки для обработки пробелов в имени подключения.
  • ipv4.address 192.168.1.50/24: Устанавливает IPv4-адрес сетевого интерфейса 192.168.1.50 с маской подсети 255.255.255.0 (обозначается /24 в нотации CIDR).

Новый IP-адрес назначен.

Проверим это с помощью команды:

ssh itsecforu@192.168.1.40 "ip addr show ens18"

Замените имя пользователя, IP-адрес и имя сетевой карты (ens18) на свои.

Вы увидите, что новый IP-адрес назначен.

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 6e:26:0b:8e:33:8c brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet 192.168.1.40/24 brd 192.168.1.255 scope global noprefixroute ens18
       valid_lft forever preferred_lft forever
    inet 192.168.1.50/24 brd 192.168.1.255 scope global secondary noprefixroute ens18
       valid_lft forever preferred_lft forever
    inet6 fe80::bfcf:b9d3:60de:af1b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Этот способ позволяет добавить несколько IP-адресов к удаленному Linux через SSH с помощью команды nmcli.

Как я уже говорил, при этом способе добавляется дополнительный IP-адрес.

Существующий старый IP-адрес останется неизменным.

Вы также можете использовать опцию -S для передачи пароля sudo.

Она позволяет sudo считывать пароль из стандартного ввода.

Вы можете передать пароль через echo и передать его в ssh, но учтите, что этот метод небезопасен, так как пароль может быть виден в списке процессов или истории оболочки.

$ echo 'yourpassword' | ssh -t user@ip "sudo -S nmcli con modify YourConnectionName ipv4.address YourIPAddress"

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

Заключение

Как видите, изменение IP-адреса удаленной Linux-системы – несложный процесс.

Команда nmcli значительно упрощает эту задачу.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий