Установка Google Authenticator на Fedora Linux
Это малоизвестный факт, что вы можете использовать алгоритм TOTP для обеспечения безопасности учетных записей пользователей в системах Linux. В этой статье мы расскажем всех необходимые шаги.. Хотя команды будут написаны для Fedora, алгоритм TOTP может быть развернут на любом дистрибутиве с незначительными изменениями.
TOTP можно настроить на Linux системах с простым PAM, который выпустил Google.Установка его на Fedora проста. Просто выполните следующую комманду:
Shell
yum install google-authenticator
## OR ##
sudo yum install google-authenticator
1 |
yum install -authenticator sudo yum install -authenticator |
8: Автоматизация настройки многофакторной аутентификации (опционально)
Многие системные администраторы используют для оркестровки сервера различные системы управления конфигурациями (Puppet, Chef или Ansible). Такая система может автоматизировать настройку многофакторной аутентификации для новых пользователей.
google-authenticator поддерживает ключи командной строки, благодаря которым мы можем заранее определить все параметры начальной настройки в неинтерактивной команде. Чтобы узнать об этом больше, введите:
К примеру, такая команда автоматически выполнит все действия, описанные в разделе 1:
Она ответит на все вопросы программы:
- -t включит счетчик времени
- -d запретит повторное использование токена
- -f принудительно запишет настройки в файл, не спрашивая пользователя
- -r определит, сколько у пользователя есть попыток ввести правильный код
- -R указывает, как долго (в секундах) пользователь может пытаться ввести правильный код
- -w определяет, сколько существует действительных кодов одновременно (это относится к временному интервалу от 1:30 до 4 минут)
Также команда сохранит настройки в файл, выведет секретный ключ, QR-код и коды восстановления. Для подавления вывода можно использовать флаг –q.
При автоматизации MFA важно сделать так, чтобы конечные пользователи получили секретный ключ и ключи восстановления
Как настроить 2FA для SSH в Linux
Установка и запуск 2FA для SSH в Linux включает в себя ряд шагов. Вот разбивка каждого шага, чтобы помочь вам в этом процессе.
Предпосылки
Само собой разумеется, что вам нужна программа сервера SSH, установленная в системе, в которой вы хотите включить 2FA. Чтобы убедиться в этом, откройте терминал и введите:
Если у вас установлен SSH-сервер, переходите к следующему шагу. Если нет, введите следующую команду, чтобы установить его:
После завершения установки проверьте, включен ли SSH в системе. Для этого введите:
Если ваш статус отражает Активный: активный (работает) , вы можете продолжить. Но если это показывает обратное, введите следующую команду:
В некоторых случаях конфигурация брандмауэра может мешать работе SSH, и вам может потребоваться выполнить приведенную ниже команду, чтобы включить сервер SSH в вашей системе.
Шаг 1. Установка Google Authenticator PAM
Когда сервер OpenSSH запущен на вашем хост-компьютере, первое, что вам нужно сделать, это установить подключаемый модуль аутентификации (PAM), который предлагает необходимую инфраструктуру для интеграции многофакторной аутентификации для SSH в Linux.
Google Authenticator PAM – самый популярный выбор в этом отношении, поскольку его проще реализовать и использовать, чем некоторые другие модули аутентификации. Он предлагает всю необходимую инфраструктуру, необходимую для аутентификации пользователей с использованием кодов одноразовых паролей на основе времени (TOTP), и имеет приложения-генераторы кода, доступные для Android и iOS.
Чтобы установить Google Authenticator PAM, откройте окно терминала и выполните следующую команду:
Введите y в приглашении к установке, чтобы подтвердить процесс.
Шаг 2: Настройка SSH
Теперь, когда в вашей системе установлен Google Authenticator PAM, пора заставить SSH использовать этот модуль для аутентификации. Для этого вам нужно отредактировать пару файлов конфигурации.
Мы рекомендуем сделать резервную копию этих файлов, чтобы избежать проблем, если во время процесса что-то пойдет не так. После этого продолжайте следующие шаги:
- Откройте файл конфигурации PAM с помощью nano . Не стесняйтесь использовать любой другой текстовый редактор Linux .
- Добавьте в файл следующую строку.
- Сохраните и выйдите из окна редактирования файла.
- Перезапустите службу sshd с помощью systemctl.
Затем отредактируйте файл конфигурации SSH, который отвечает за настройку SSH.
- Откройте файл с помощью nano.
- В этом файле найдите строку ChallengeResonseAuthentication no и измените ее статус с « нет » на « да ». Это даст указание SSH запрашивать код аутентификации всякий раз, когда кто-то пытается войти в систему.
- Сохраните файл и перезапустите демон SSH.
Шаг 3. Настройка аутентификатора в Linux
Теперь, когда вы установили и настроили SSH, вам нужно настроить Google Authenticator для генерации кодов TOTP.
Для этого откройте терминал и запустите Google Authenticator с помощью следующей команды:
Google Authenticator предложит вам ряд вопросов. Ответ на эти вопросы с или да (у) или нет (п). На большинство вопросов ответ по умолчанию – да, если только вы не выберете вариант, отличный от варианта по умолчанию.
Вот сокращенный список вопросов, которые вам задаст приложение:
- Сделать токены аутентификации привязанными по времени (да / нет): y
- Обновите файл » ~ / .google_authenticator » (y / n): y
- Запретить многократное использование одного и того же токена аутентификации ?: y
- Увеличить частоту генерации кода (y / n): n
- Включить ограничение скорости (да / нет): y
Шаг 4. Настройка аутентификатора на телефоне
Как только вы ответите утвердительно на первый вопрос аутентификации Google, Google PAM сгенерирует QR-код на вашем экране вместе с секретным ключом и несколькими кодами восстановления. Выполните следующие действия, чтобы зарегистрировать Google Authenticator на своем телефоне.
Но сначала вам нужно скачать приложение Google Authenticator на свой смартфон.
Скачать: Google Authenticator для Android | iOS (бесплатно)
- Щелкните значок « Плюс» ( + ) и выберите « Сканировать код» в меню.
- Направьте камеру своего устройства на QR-код на экране компьютера, чтобы автоматически создать запись в приложении.
- Либо выберите « Ввести ключ настройки» в меню « Плюс» (+) и введите необходимые данные. Для этого сначала дайте своей записи имя – оно должно быть легко узнаваемым – а затем введите секретный ключ, отображаемый под QR-кодом на экране.
- Наконец, нажмите « Добавить», чтобы сохранить запись.
В качестве меры предосторожности скопируйте все коды восстановления, отображаемые под QR-кодом, и сохраните их в безопасном месте. Они могут вам понадобиться, если вы не можете получить доступ к Google Authenticator на своем телефоне или потеряли доступ к нему
Использование пароля
Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.
Подключение на Windows
Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).
Чтобы включить встроенный в систему OpenSSH:
- Откройте «Параметры» (Win + I) и перейдите в раздел «Приложения».
- Выберите опцию «Управление дополнительными компонентами».
- Нажмите «Добавить компонент».
- Выберите в списке OpenSSH Client и нажмите «Установить».
- После завершения установки перезагрузите систему.
Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh root@185.104.114.90.
Значение root — логин для подключения, вы получили его в письме при создании сервера. 185.104.114.90 — IP-адрес сервера. Его можно посмотреть в панели управления сервером или в том же письме, которое прислал хостер. У команды может быть также дополнительный параметр -p, после которого прописывается номер порта. По умолчанию используется порт 22. Если у вас настроен другой порт, нужно явно его указать, — например, полный адрес может выглядеть так: ssh root@185.104.114.90 -p 150.
После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение к серверу через SSH завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.
На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:
- Запустите PuTTY.
- На вкладке Session укажите Host Name (IP-адрес сервера), Port (по умолчанию 22, но если вы в конфигурации сервера указали другой порт, нужно задать его номер).
- Убедитесь, что тип соединения установлен SSH.
- Нажмите на кнопку Open, чтобы подключиться.
Если вы ввели правильные данные, появится окно консоли, в котором нужно указать логин и пароль для подключения к серверу. При первом запуске также отобразится запрос на добавление устройства в список известных.
Подключение на Linux и macOS
Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».
- Запустите терминал. Обычно для этого используется сочетание клавиш Ctrl+Alt+T. Найти терминал также можно по пути «Главное меню» — «Приложения» — «Система».
- Выполните команду для подключения. Синтаксис такой же, как на Windows, — ssh root@185.104.114.90. Если порт не стандартный, то нужно явно его указать: например, ssh root@185.104.114.90 -p 150. Вместо root вы указываете свое имя пользователя, а вместо 185.104.114.90 — IP-адрес своего сервера.
- Если хост и порт указаны верно, на следующем шаге появится запрос на ввод пароля. При первом подключении также будет предложение добавить новое устройство в список известных. Для этого введите yes и нажмите на клавишу Enter.
На этом подключение завершено. Теперь все команды, которые вы вводите в терминале, будут выполняться на удаленной машине.
Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:
- на сервере с Ubuntu/Debian выполните команду $ sudo ufw allow 22/tcp;
- на сервере CentOS/Fedora выполните команду $ firewall-cmd —permanent —zone=public —add-port=22/tcp.
Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.
Если вы знаете как подключиться через SSH на Linux, то справитесь с этой задачей и на macOS. В операционной системе Apple тоже есть встроенный терминал. Синтаксис команды для подключения не меняется: ssh root@185.104.114.90, где root — ваш логин, а 185.104.114.90 — IP-адрес сервера, с которым вы устанавливаете соединение.
Step 1: Install Google Authenticator on RHEL/CentOS 7 and 8 Linux
There are two methods to install Google Authenticator on your RHEL/CentOS 7 and 8 Linux environment.
Method 1: Install using DNF or YUM
I hope you are aware of DNF which is an alternate to YUM. By default google authenticator rpm is not part of the CentOS or Red Hat repository so you must first install EPEL repository on your Linux node.
Advertisement
# dnf install epel-release -y
Next install google authenticator rpm before we enable offline two factor authentication:
NOTE:
is required to print QR code for offline two factor authentication. Without this library you will get «» error. In RHEL/CentOS 7/8 Linux, is provided by rpm.
# dnf install google-authenticator qrencode-libs -y
Content of the rpm on RHEL/CentOS 7
# rpm -ql google-authenticator-1.04-1.el7.x86_64 /usr/bin/google-authenticator /usr/lib64/security/pam_google_authenticator.la /usr/lib64/security/pam_google_authenticator.so /usr/share/doc/google-authenticator-1.04 /usr/share/doc/google-authenticator-1.04/CONTRIBUTING.md /usr/share/doc/google-authenticator/FILEFORMAT /usr/share/doc/google-authenticator/README.md /usr/share/doc/google-authenticator/totp.html /usr/share/licenses/google-authenticator-1.04 /usr/share/licenses/google-authenticator-1.04/LICENSE /usr/share/man/man1/google-authenticator.1.gz /usr/share/man/man8/pam_google_authenticator.8.gz
Content of the rpm on RHEL/CentOS 8
# rpm -ql google-authenticator-1.07-1.el8.x86_64 /usr/bin/google-authenticator /usr/lib/.build-id /usr/lib/.build-id/28 /usr/lib/.build-id/28/19f17158d9ddef0a7f6135defe09c66b2b8061 /usr/lib/.build-id/70 /usr/lib/.build-id/70/03ef7a7d6793e0fcd5b4db22f580420272c34a /usr/lib64/security/pam_google_authenticator.la /usr/lib64/security/pam_google_authenticator.so /usr/share/doc/google-authenticator /usr/share/doc/google-authenticator/CONTRIBUTING.md /usr/share/doc/google-authenticator/FILEFORMAT /usr/share/doc/google-authenticator/README.md /usr/share/doc/google-authenticator/totp.html /usr/share/licenses/google-authenticator /usr/share/licenses/google-authenticator/LICENSE /usr/share/man/man1/google-authenticator.1.gz /usr/share/man/man8/pam_google_authenticator.8.gz
Method 2: Install using source code
You can clone the google authenticator git repository on your Linux node
# git clone https://github.com/google/google-authenticator-libpam.git Cloning into 'google-authenticator-libpam'... remote: Enumerating objects: 52, done. remote: Counting objects: 100% (52/52), done. remote: Compressing objects: 100% (39/39), done. remote: Total 848 (delta 31), reused 32 (delta 13), pack-reused 796 Receiving objects: 100% (848/848), 580.86 KiB | 532.00 KiB/s, done. Resolving deltas: 100% (539/539), done.
Next build and install
# cd google-authenticator-libpam/ # ./bootstrap.sh # ./configure # make # make install
This will install and configure Google Authenticator on your Linux node.
SMS two-factor authentication is weak
The most widely accepted definition of 2FA is “something you know and something you have”. The “something you know” is a password. The “something you have” usually means a six-digit code that you provide from some device that only you have access to. Providing the correct code is enough proof that you “have” that something.
The most common form of 2FA on the internet today is the use of SMS text messaging to send 2FA codes at login time. Due to weaknesses in the SS7 protocol and the poor customer verification within mobile support teams, it is fairly easy to redirect a text message to any phone you want. Two weaknesses are routinely exploited in the SMS 2FA method: First, a phone number is not permanently tied to a phone, so anyone can receive the SMS message with the code. Second, the SMS validation code is sent to you through an untrusted and unencrypted medium. By its very definition, this does not fulfill the requirement of being “something you have”. It’s actually “something I just gave you,” which is not the same.
Копирование открытого ключа на сервер
Добавить открытый ключ на сервер можно несколькими способами.
Примечание: На каждый сервер можно добавить неограниченное количество SSH-ключей.
Добавить открытый ключ на сервер можно несколькими способами. Рассмотрим несколько из них, начиная с простейшего. Выберите самый удобный для вас метод и используйте его, чтобы добавить открытый ключ на сервер.
Копирование ключа с помощью ssh-copy-id
Если на локальном компьютере установлена утилита ssh-copy-id, с её помощью вы можете быстро добавить открытый ключ на удалённый сервер. Обычно (но не всегда) утилита ssh-copy-id включена в пакет OpenSSH.
Чтобы узнать, есть ли эта утилита на локальном компьютере, просто попробуйте запустить её. Если она не установлена, на экране появится ошибка:
Вы можете установить её или воспользоваться другим методом копирования ключа.
В команде ssh-copy-id нужно указать IP-адрес или доменное имя, а также имя пользователя, для которого нужно добавить эти SSH-ключи.
Команда может вернуть:
Это значит, что локальный компьютер не узнаёт удалённый сервер, потому что ранее SSH-ключи никогда не использовались при аутентификации. Чтобы продолжить, введите yes и нажмите RETURN.
Утилита сканирует локальную учетную запись пользователя в поисках открытого ключа, id_rsa.pub. Когда она найдёт нужный файл, она запросит пользователя удалённого сервера.
Введите пароль и нажмите RETURN. Утилита подключится к аккаунту пользователя на удалённом хосте и установит открытый ключ; это происходит путём копирования содержимого файла id_rsa.pub в файл .ssh/authorized_keys в домашнем каталоге удалённого пользователя.
Если копирование прошло успешно, на экране появится:
Теперь открытый ключ добавлен в файл authorized_keys удалённого пользователя, и сервер сможет принять закрытый ключ для аутентификации.
Примечание: Скопировав ключ на удалённый сервер, можете переходить к разделу «Аутентификация с помощью SSH-ключей».
Копирование ключа через SSH
Если на вашем сервере нет утилиты ssh-copy-id, но есть парольный SSH-доступ к серверу, вы можете установить открытый ключ с помощью SSH-клиента.
Для этого нужно вывести открытый ключ на локальном компьютере и передать его по SSH на удалённый сервер. На удалённом сервере нужно создать каталог ~/.ssh (если такого каталога нет), а затем добавить открытый ключ в файл authorized_keys в этом каталоге. Используйте перенаправление потока >>, чтобы вставить ключ в файл authorized_keys (если ранее вы добавляли SSH-ключи на удалённый сервер, такой файл уже существует; при этом ключи не будут переписаны новыми ключами).
Если вы не изменили название файла открытого ключа по умолчанию (id_rsa.pub), используйте эту команду:
Команда может вернуть такое сообщение:
Это значит, что локальный компьютер не узнаёт удалённый сервер, потому что ранее SSH-ключи никогда не использовались при аутентификации. Чтобы продолжить, введите yes и нажмите RETURN.
Команда запросит пароль удалённого пользователя:
Введите пароль и нажмите RETURN. Если команда выполнена успешно, она не вернёт никакого вывода. Ключ id_rsa.pub будет добавлен в файл authorized_keys.
Примечание: Скопировав ключ на удалённый сервер, можете переходить к разделу «Аутентификация с помощью SSH-ключей».
Копирование ключа вручную
Также вы можете добавить открытый ключ на удалённый сервер вручную. Для этого нужно авторизоваться на удалённом сервере как пользователь, для которого предназначен этот ключ.
Процесс не меняется: вам нужно взять открытый ключ на локальной машине и добавить его в .ssh/authorized_keys в домашнем каталоге удалённого пользователя.
Войдите на удалённый сервер:
При этом может появиться сообщение:
Это значит, что локальный компьютер не узнаёт удалённый сервер, потому что ранее SSH-ключи никогда не использовались при аутентификации. Чтобы продолжить, введите yes и нажмите RETURN.
После этого будет запрошен пароль удалённого пользователя:
Создайте каталог .ssh в домашнем каталоге удалённого пользователя, если такого каталога пока что нет:
Вернитесь на локальную машину и запросите открытый SSH-ключ:
Скопируйте вывод в буфер, затем откройте файл authorized_keys в текстовом редакторе:
Вставьте в него открытый ключ, а затем сохраните и закройте файл (Esc, a, a).
Открытый ключ SSH теперь добавлен на удалённый сервер.
Настройка SSH входа без пароля
Чтобы настроить SSH-вход без пароля в Linux, все, что вам нужно сделать, это сгенерировать открытый ключ аутентификации и добавить его в файл удаленных хостов.
Следующие шаги описывают процесс настройки входа по SSH без пароля:
-
Проверьте существующую пару ключей SSH.
Перед созданием новой пары ключей SSH сначала проверьте, есть ли у вас уже ключ SSH на вашем клиентском компьютере, потому что вы не хотите перезаписывать существующие ключи.
Выполните следующую команду ls, чтобы проверить наличие существующих ключей SSH:
Если есть существующие ключи, вы можете использовать их и пропустить следующий шаг или создать резервную копию старых ключей и сгенерировать новый.
Если вы видите или это означает, что у вас нет ключа SSH, и вы можете перейти к следующему шагу и сгенерировать новый.
-
Создайте новую пару ключей SSH.
Следующая команда сгенерирует новую пару ключей SSH 4096 бит с вашим адресом электронной почты в качестве комментария:
Нажмите чтобы принять расположение и имя файла по умолчанию:
Затем инструмент попросит вас ввести безопасную парольную фразу. Независимо от того, хотите ли вы использовать кодовую фразу, решать вам, если вы решите использовать кодовую фразу, вы получите дополнительный уровень безопасности. В большинстве случаев разработчики и системные администраторы используют SSH без парольной фразы, поскольку они полезны для полностью автоматизированных процессов. Если вы не хотите использовать кодовую фразу, просто нажмите .
В целом взаимодействие выглядит так:
Чтобы убедиться, что ключи SSH сгенерированы, вы можете указать свои новые закрытые и открытые ключи с помощью:
-
Скопируйте открытый ключ
Теперь, когда вы сгенерировали пару ключей SSH, чтобы иметь возможность войти на свой сервер без пароля, вам необходимо скопировать открытый ключ на сервер, которым вы хотите управлять.
Самый простой способ скопировать ваш открытый ключ на сервер — использовать команду . На вашем локальном машинном терминале введите:
Вам будет предложено ввести пароль :
После аутентификации пользователя открытый ключ будет добавлен в файл удаленного пользователя, и соединение будет закрыто.
Если по какой-либо причине недоступна на вашем локальном компьютере, вы можете использовать следующую команду для копирования открытого ключа:
-
Войдите на свой сервер с помощью ключей SSH
После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, просто попробуйте войти на свой сервер через SSH:
Если все прошло успешно, вы сразу же войдете в систему.
Конфигурация sshd_config
Под занавес не помешает заглянуть в /etc/ssh/sshd_config и проверить всё ли там готово для авторизации по ключам:
# The default requires explicit activation of protocol 1 Protocol 2 # HostKey for protocol version 1 #HostKey etcsshssh_host_key # HostKeys for protocol version 2 HostKey etcsshssh_host_rsa_key #HostKey etcsshssh_host_dsa_key #HostKey etcsshssh_host_ecdsa_key RSAAuthentication yes PubkeyAuthentication yes # The default is to check both .sshauthorized_keys and .sshauthorized_keys2 # but this is overridden so installations will only check .sshauthorized_keys AuthorizedKeysFile %hsshauthorized_keys
Если собрались отключить логин по паролю, тогда в /etc/ssh/sshd_config отключаем:
PasswordAuthentication no PermitRootLogin no
Архивы
Создать архив директории:
tar -cf имя_архива.tar имя_директории
Пример использования:
# Заархивировать директорию /home/u/user/директория_сайта/public_html/media/ # 1.Перейти в каталог, в котором находится директория media: username@server:~$ cd /home/u/user/имя_сайта/public_html/ # 2.Выполнить команду архивации, задав удобное имя архива: username@server:~/имя_сайта/public_html$ tar -cf имя_архива.tar media
Распаковать архив .tar в текущую директорию:
tar -xvf архив.tar
В таких случаях для архивирования в .tar вы можете использовать следующую команду, которая позволит ограничить скорость архивации и снизить использование ресурсов процессора.
tar -cf - имя_директории| pv -L 2M > имя_архива.tar
Для удобства команда может быть расширена, чтобы отобразить в консоли счетчик времени, оставшегося до завершения процесса, и вывести уведомление (END) о его завершении (позволит проконтролировать, что процесс не прервался и был выполнен успешно).
tar -cf - имя_директории | pv -L 2M -cN tar -s $(du -sb имя_директории | grep -o '*') > имя_архива.tar && echo "END"
Для распаковки большого архива .tar можно воспользоваться командой:
pv -L 2M имя_архива.tar | tar xfv - -C ./имя_директории_назначения
Аналогично для распаковки архивов .tar.gz:
pv -L 1M имя_архива.tar.gz | tar zxfv - -C ./имя_директории_назначения
Распаковка .tar.gz с уведомлением о завершении:
pv -L 1M имя_архива.tar.gz | tar zxfv - -C ./имя_директории_назначения && echo "END"
Распаковать архив .rar в текущую директорию:
unrar x архив.rar
Распаковать архив .zip в текущую директорию:
unzip архив.zip
Для распаковки тяжелых .zip-архивов:
pv -L 1M имя_архива.zip | unzip-stream имя_директории_назначения
Параметры командной строки SSH
Давайте рассмотрим некоторые параметры, доступные с помощью команды ssh.
ssh -C
Используйте опцию -C с ssh для запроса сжатия всех данных, полученных или переданных с удаленного сервера. Синтаксис команды ниже
например
ssh -v
Параметр -v используется с командой ssh для отладки ssh-клиента. Ниже приведен синтаксис:
например:
Для отладки ssh-клиента используйте параметр -v
ssh -b
Опция -b используется для привязки IP-адреса к SSH-соединению. IP — адрес будет использоваться в качестве исходного адреса SSH-соединения. Это применяется, когда у клиента более двух IP-адресов, и вы можете не знать, какой IP-адрес используется для создания соединения с сервером SSH.
Например:
Команда свяжет IP-адрес с удаленным сервером. Мы можем проверить это, используя команду для проверки соединения.
Привязка IP-адреса к SSH-соединению
ssh -F
Параметр -F используется вместе с командой ssh для указания конфигурации для каждого пользователя. Файл конфигурации по умолчанию ~/. ssh/config.
Чтобы использовать определенный файл конфигурации, используйте параметр -F следующим образом.
Например:
ssh -L
Опция -L используется для переадресации локальных портов. Переадресация локальных портов позволяет нам перенаправлять трафик с нашего хоста в порт назначения через прокси-сервер.
Основной синтаксис для переадресации локальных портов такой.
Например выполните следующую команду для подключения к удаленному хосту на порт 3306, пользователя kali с IP 192.168.239.134 с локального хоста 192.168.239.133 на порту 3336.
Переадресация локальных портов SSH
ssh -R
Опция -R используется вместе с командой SSH для включения удаленной переадресации портов. Это означает, что вы можете перенаправить порт на удаленном сервере на порт локального компьютера, который затем будет перенаправлен на порт конечного компьютера.
Основной синтаксис для переадресации удаленных портов следующий.
Например:
Команда заставит ssh прослушивать ssh-сервер порт 3336 и перенаправлять весь трафик на порт 3000.
Синтаксис для переадресации удаленных портов SSH
ssh -C -D
Опция -D включает динамическую переадресацию портов. Обычный порт SOCKS-1001, однако можно использовать любой номер порта; тем не менее, некоторые программы будут работать только на порту 1001.
Основной синтаксис динамической пересылки выглядит следующим образом.
Например
Параметр -D указывает динамическую переадресацию портов на 1001 порт, а опция -C включает сжатие.
Динамическая переадресация портов SSH
ssh -X
Опция -X используется вместе с ssh для пересылки X11. Ниже приведен синтаксис для пересылки X11.
Используйте следующую команду, чтобы включить переадресацию X11 для пользователя kali с IP-адресом 192.168.239.134.
SSH -Y
Параметр -Y используется вместе с ssh для доверенной переадресации X11. Это означает, что удаленный X11 будет иметь полный доступ к исходному дисплею X11.
Используйте следующую команду, чтобы включить доверенную переадресацию. X11 для пользователя kali с IP-адресом 192.168.239.134.
Параметр -Y для доверенной переадресации X11 SSH
ssh -o
Параметр -o можно использовать с другими параметрами.
Например:
Если вы используете ssh -o «batchmode=yes», команда успешно выполнится на удаленной машине, если включено подключение без пароля, в противном случае команда вернет ошибку.
ssh -o «batchmode=yes»
Некоторые из наиболее важных параметров командной строки показаны в следующей таблице.
SSH Параметр (опция) | Описание |
-А | Позволяет перенаправлять соединение агента аутентификации. |
-а | Этот параметр отключает перенаправляемое соединение агента аутентификации. |
-b | Параметр используется для привязки адресов источников. |
-С | Этот параметр используется для сжатия данных. |
-c cipher_spec | Параметр выбирает спецификацию шифра для шифрования сеанса. |
-d | Эта опция отвечает за динамическую переадресацию портов на уровне приложений. |
-E log_file | Параметр добавляет журналы отладки в файл log_file вместо стандартной ошибки. |
-F config file | Этот параметр указывает файл конфигурации для каждого пользователя. |
-g | Эта опция позволяет удаленным хостам подключаться к локальным перенаправленным портам. |
-i identity_file | Опция считывает закрытый ключ для аутентификации с открытым ключом. |
-j | Параметр определяет директиву конфигурации ProxyJump. |
-l login_name | В этом параметре указывается пользователь для входа на удаленный компьютер. |
-p port | Параметр используется для указания порта для подключения к удаленному хосту. |
-q | Это тихий режим. |
-V | Подробный режим. |
-Х | Параметр позволяет переадресовать X11 |
-Y | Эта опция обеспечивает надежную переадресацию X11 |