Мы редко до конца понимаем, чего мы в действительности хотим (Ларошфуко).

Примеры файлов конфигурации в OpenSSH

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
16 мая 2018
Примеры файлов конфигурации в OpenSSH

Просмотров: 22

Сейчас мы создадим и настроим конфигурационный файл для OpenSSH.

Глобальный или локальный файл конфигурации для SSH-клиента может создавать ярлыки для сервера sshd, включая расширенные параметры клиента ssh. Вы можете настроить свой SSH-клиент OpenSSH с помощью различных файлов следующим образом, чтобы сэкономить время и набрать часто используемые параметры командной строки ssh-клиента, такие как порт, имя пользователя, имя хоста, файл идентификатора и многое другое.

Давайте используем некоторые общие примеры файлов конфигурации OpenSSH.

Конфигурация клиента в конфигурационном файле OpenSSH для всей системы

  1. /etc/ssh/ssh_config : Этот файл устанавливает конфигурацию по умолчанию для всех пользователей клиентов OpenSSH на этом рабочем столе/ноутбуке и должен быть доступен для чтения всем пользователям системы.

Конфигурация клиента OpenSSH для конкретного пользователя

  1. ~/.ssh/config или $HOME/.ssh/config: Это файл собственной конфигурации пользователя, который переопределяет параметры в файле конфигурации глобального клиента/etc/ssh/ssh_config.

Конфигурационные файлы ~/.ssh/

Для создания файла конфигурации ssh, существуют следующие правила:

  • Вам нужно отредактировать ~/.ssh/config в текстовом редакторе, например vi.
  • Один конфигурационный параметр для каждой строки разрешен в файле конфигурации с именем параметра, за которым следуют его значение или значения. Синтаксис:
  • Вы можете использовать знак равенства (smile вместо пробела между именем параметра и значениями.
  • Все пустые строки игнорируются.
  • Все строки, начинающиеся с хеша (#), игнорируются.
  • Все значения чувствительны к регистру, но имена параметров отсутствуют.

Совет:
Если это новый Linux, Apple OS X/Unix, или если вы никогда не использовали ssh, прежде чем создавать каталог ~/.ssh/, используйте следующий синтаксис:

mkdir -p $HOME/.ssh

chmod 0700 $HOME/.ssh

 

Примеры

Для демонстрационной цели наша установка выглядит следующим образом:

  1. Клиент локального рабочего стола – Apple OS X или Ubuntu (Linux).
  2. Удаленный сервер Unix – сервер OpenBSD, на котором запущен последний сервер OpenSSH.
  3. Удаленный сервер OpenSSH ip/host: 75.126.153.206 (server1.andreyex.ru)
  4. Удаленный пользователь сервера OpenSSH: andreyex
  5. Удаленный порт OpenSSH: 4242
  6. Локальный файл файла приватного ключа ssh:/nfs/shared/users/andreyex/keys/server1/id_rsa

Основываясь на приведенной выше информации, моя команда ssh выглядит следующим образом:
$ ssh -i /nfs/shared/users/andreyex/keys/server1/id_rsa -p 4242 andreyex@server1.andreyex.ru

или
$ ssh -i /nfs/shared/users/andreyex/keys/server1/id_rsa -p 4242 -l andreyex server1.andreyex.ru

 

Вы можете избежать ввода всех параметров команды ssh во время входа в удаленную машину и/или для выполнения команд на удаленной машине. Все, что вам нужно сделать, это создать файл конфигурации ssh. Откройте приложение Терминал и создайте свой файл конфигурации, введя следующую команду:

 

или

 

Добавьте/примените следующий параметр конфигурации для ярлыка на server1 в соответствии с нашей установкой образца:

 

Сохраните и закройте файл. Чтобы открыть новый сеанс SSH на server1.andreyex.ru, введите следующую команду:

 

Добавление другого хоста

Добавьте в свой файл ~/.ssh/config следующее:

 

Вы можете просто ввести:

 

Объедините все это

Вот мой примерный файл ~/.ssh/config, который объясняет и создает, проектирует и оценивает различные потребности в удаленном доступе с помощью ssh client:

 

Понимание конфигурации записи ~/.ssh/

  • Host: Определяет, для какого хоста или узла используется раздел конфигурации. Раздел заканчивается новой частью хоста или концом файла. Единый *шаблон может использоваться для обеспечения глобальных значений по умолчанию для всех хостов.
  • HostName: Указывает имя реального хоста для входа в систему. Также допускаются цифровые IP-адреса.
  • User : Определяет имя пользователя для соединения SSH.
  • IdentityFile: Указывает файл, с которого считывается идентификатор аутентификации DSA, ECDSA или DSA пользователя. По умолчанию используется протокол ~/.ssh/identity для протокола версии 1 и ~/.ssh/id_dsa, ~/.ssh/id_ecdsa и ~/.ssh/id_rsa для протокола версии 2.
  • ProxyCommand: Указывает команду для подключения к серверу. Командная строка продолжается до конца строки и выполняется с помощью оболочки пользователя. В командной строке любое вхождение % h будет заменено именем хоста для подключения, % p на порт и % r именем удаленного пользователя. Команда может быть в основном что угодно, и она должна считывать со своего стандартного ввода и записывать на стандартный вывод. Эта директива полезна в сочетании с nc (1) и поддержкой ее прокси. Например, следующая директива будет подключаться через прокси-сервер HTTP по адресу 192.1.0.253:
    ProxyCommand/usr/bin/nc -X connect -x 192.1.0.253:3128 %h %p
  • LocalForward: Указывает, что TCP-порт на локальном компьютере будет перенаправлен по защищенному каналу на указанный хост и порт с удаленного компьютера. Первым аргументом должен быть порт [bind_address:], а вторым аргументом должен быть host: hostport.
  • Port : Указывает номер порта для подключения на удаленном хосте.
  • Protocol: Указывает версии протокола ssh (1), которые должны поддерживаться в порядке предпочтения. Возможные значения: 1 и 2.
  • ServerAliveInterval: Устанавливает интервал ожидания в секундах, после которого, если данные не были получены с сервера, ssh (1) отправит сообщение через зашифрованный канал, чтобы запросить ответ от сервера.
  • ServerAliveCountMax: Устанавливает количество живых сообщений сервера, которые могут быть отправлены без ssh (1), получая любые сообщения с сервера. Если это пороговое значение достигнуто во время отправки сообщений сервера, ssh отключится от сервера, завершив сеанс.

Ускорить сессию ssh

Мультиплексирование – это не что иное, как отправка более одного ssh-соединения по одному соединению. OpenSSH может повторно использовать существующее TCP-соединение для нескольких одновременных сеансов SSH. Это приводит к сокращению накладных расходов при создании новых TCP-соединений. Обновите файл ~/.ssh/config:

 

В этом примере я просматриваю один хост для доступа к другому серверу, т. е. Перехватывает хост с помощью ProxyCommand :

 

Заметка о псевдонимах оболочки (устаревший метод)

ПРЕДУПРЕЖДЕНИЕ! Эта настройка на основе bash shell aliased может работать для вас. Тем не менее, мы рекомендуем вам использовать файл ~/.ssh/config для улучшения результатов в долгосрочной перспективе. Конфигурационный файл SSH – это более продвинутые и элегантные решения. Команда alias используется только здесь для демонстрационной цели, и она здесь из-за исторических причин.

Псевдоним – это не что иное, как ярлык для команд, и вы можете создать псевдоним, используя следующий синтаксис в файле ~/.bashrc :

 

Затем, чтобы ssh в server1 вместо того, чтобы вводить полную команду ssh -i/nfs/shared/users/andreyex/keys/server1/id_rsa -p 4242 andreyex@server1.andreyex.ru, вам нужно было бы только ввести команду ‘server1’ и нажать клавишу [ENTER]:

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

ПОИГРАЙ, РАССЛАБЬСЯ

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close