ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

Сейчас мы создадим и настроим конфигурационный файл для 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, существуют следующие правила:

 

Примеры

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

  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. Откройте приложение Терминал и создайте свой файл конфигурации, введя следующую команду:

## edit file in $HOME dir
 
vi ~/.ssh/config

 

или

## edit file in $HOME dir
 
vi $HOME/.ssh/config

 

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

Host server1
     HostName server1.andreyex.ru
     User andreyex
     Port 4242
     IdentityFile/nfs/shared/users/andreyex/keys/server1/id_rsa

 

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

$ ssh server1

 

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

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

Host nas01
     HostName 192.168.1.100
     User root
     IdentityFile ~/.ssh/nas01.key

 

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

$ ssh nas01

 

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

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

### по умолчанию для всех ##
Host *
     ForwardAgent no
     ForwardX11 no
     ForwardX11Trusted yes
     User andreyex
     Port 22
     Protocol 2
     ServerAliveInterval 60
     ServerAliveCountMax 30
 
## переопределение согласно хосту ##
Host server1
     HostName server1.andreyex.ru
     User andreyex
     Port 4242
     IdentityFile/nfs/shared/users/andreyex/keys/server1/id_rsa
 
## Домашний сервер nas ##
Host nas01
     HostName 192.168.1.100
     User root
     IdentityFile ~/.ssh/nas01.key
 
## Вход в Aws Cloud ##
Host aws.apache
     HostName 1.2.3.4
     User wwwdata
     IdentityFile ~/.ssh/aws.apache.key
 
## Вход на внутренний сервер локальной сети в 192.168.0.251 через наш публичный офис Великобритании ssh на основе шлюза с помощью ##
## $ ssh uk.gw.lan ##
Host uk.gw.lan uk.lan
     HostName 192.168.0.251
     User andreyex
     ProxyCommand  ssh andreyex@gateway.uk.andreyex.ru nc %h %p 2>/dev/null
 
## Наш Прокси-Сервер ##
## Вперед всех локальный порт 3128 трафик на порт 3128 на удаленном сервере vps1.andreyex.ru  ## 
## $ ssh -f -N  proxyus ##
Host proxyus
    HostName vps1.andreyex.ru
    User breakfree
    IdentityFile ~/.ssh/vps1.andreyex.ru.key
    LocalForward 3128 127.0.0.1:3128

 

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

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

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

Host server1
        HostName server1.andreyex.ru
        ControlPath ~/.ssh/controlmasters/%r@%h:%p
        ControlMaster auto

 

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

## ~/.ssh/config ##
Host internal
  HostName 192.168.1.100
  User vivek
  ProxyCommand ssh buba@vpn.andreyex.net.in -W %h:%p
  ControlPath ~/.ssh/controlmasters/%r@%h:%p
  ControlMaster auto

 

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

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

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

## создайте новый псевдоним оболочки bash следующим образом ##
 
alias server1="ssh -i/nfs/shared/users/andreyex/keys/server1/id_rsa -p 4242 andreyex@server1.andreyex.ru"

 

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

$ server1

 

Exit mobile version