1. Главная страница » Компьютеры » Enable ssh что это

Enable ssh что это

Автор: | 16.12.2019

Содержание

Автор Cherrygarden, дата публикации 05.10.2012 |

SSH (англ. Secure SHell — «безопасная оболочка») – протокол передачи данных, позволяющий производить безопасное и защищенное управление операционной системой и данными. Это сетевой протокол прикладного уровня, который дает возможность шифрования передаваемых данных и паролей. К тому же позволяет передавать любой другой протокол.

Первая версия протокола SSH была разработана аж в 1995 году. С тех пор были обнаружены некоторые слабые места и программа претерпела ряд существенных изменений. Таким образом, уже через год, в 1996 году, в свет вышла вторая версия SSH – 2. Она не совместима с первой версией и, говоря о SSH сегодня, всегда подразумевается SSH – 2. С тех пор SSH не изменила значительно стандарты своей работы и широко используется по сей день.

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

Возможности SSH

Позволяет удаленно работать на компьютере через командную оболочку.

Позволяет осуществлять шифрование с помощью различных алгоритмов.

Так как SSH позволяет безопасно передавать практически любой сетевой протокол, это позволяет передавать по шифрованному каналу звуковые и видео файлы.

Производит сжатие файлов для их последующего шифрования и передачи.

  • Защищает передачу данных по каналу и предотвращает возможность включения в установленную сессию и перехватить данные.
  • Необходимое ПО для работы с SSH

    Для работы с SSH необходим SSH-сервер и SSH-клиент.

    SSH-сервер принимает соединение от клиентских машин и производит аутентификацию. Аутентификация на SSH производится тремя способами:

    По IP адресу клиента – при этом SSH использует несколько методов проверки. Способ не очень безопасный, так как существует возможность подмены IP адреса.

    По публичному ключу клиента – схема почти такая же, как при проверке IP адреса клиентской машины, только в данном случае проверяется ключ клиента и имя пользователя.

  • По паролю клиента – часто используемый метод проверки. Пароль в данном случае передается также в зашифрованном виде.
  • Основными программными платформами, выступающими в роли SSH-сервера являются:

    Linux: dropbear, lsh-server, openssh-server, ssh

  • Windows: freeSSHd, copssh, WinSSHD, KpyM Telnet/SSH Server, MobaSSH, OpenSSH
  • SSH-клиент используется для непосредственного входа на удаленный сервер и выполнения различных команд:

    Работа с файлами и директориями

    Работа по просмотру или редактированию файлов

    Отслеживание процессов работы

    Работа с архивами

  • Работа с базами данных MySQL
  • SSH-клиенты и их программные оболочки:

    GNU/Linux, BSD: kdessh, lsh-client, openssh-client, putty, ssh, Vinagre

    MS Windows и Windows NT: PuTTY, SecureCRT, ShellGuard, Axessh, ZOC, SSHWindows, ProSSHD, XShell

    MS Windows Mobile: PocketPuTTy, mToken, sshCE, PocketTTY, OpenSSH, PocketConsole

    Mac OS: NiftyTelnet SSH

    Java: MindTerm, AppGate Security Server

    iPhone: i-SSH, ssh (в комплекте с Terminal)

    Не смотря на то, что SSH-клиентов очень много, самыми популярными и часто используемыми являются PuTTY и SecureCRT. PuTTY является наиболее предпочтительным, потому что предоставляется на бесплатной основе.

    Кому интересно, я для связи с сервером пользуюсь бесплатной программой WinSCP (свободный графический клиент протоколов SFTP и SCP) — PuTTY агент, которым очень удобно работать по протоколу SSH. Подчеркну, если вы не хотите, чтобы ваши сайты подхватили вирус или еще какую-нибудь заразу, лучше сразу начните использовать WinSCP вместо обычных FTP клиентов (FileZilla), так вы сможете быть уверены, что у вас не уведут пароли.

    Безопасное использование SSH

    Для того чтобы использовать SSH безопасно создается так называемый SSH – туннель. Он создается на основе SSH и обеспечивает безопасность передачи данных по интернет каналам, шифруя их на одном конце туннеля и расшифровывая на другом.

    Необходимо соблюдать несколько правил пользования SSH, чтобы обезопасить свои данные:

    Запретить возможность удалённого root-доступа.

    Запретить подключение с пустым паролем или отключение входа по паролю.

    Необходимо выбирать нестандартный порт для SSH-сервера.

    Использовать длинные SSH2 RSA-ключи.

    Необходимо строго ограничить количество IP-адресов, с которых разрешён доступ.

    Запретить доступа с опасных адресов.

    Регулярно отслеживать сообщения об ошибках аутентификации.

    Установить системы обнаружения вторжений (IDS — Intrusion Detection System).

  • Использовать специальные ловушки, подделывающих SSH-сервис (honeypots).
  • Хостинг SSH

    К сожалению, сегодня не все хостинг компании осуществляют поддержку SSH. Если вы обладатель одного единственного сайта в интернете и еще плохо понимаете, что такое SSH и зачем он нужен, то возможно вы не сильно в нем нуждаетесь. А если вы уже опытный пользователь, который частенько просиживает штаны за компьютером, пока сервер осуществлял обмен файлами через FTP, то, скорее всего, вы мечтали о SSH всю свою ftp-обменную жизнь.

    На самом деле – это очень удобная штука и вы вскоре сами в этом убедитесь. Наступит время, когда вам необходимо будет перенести свой проект или несколько проектов с локального сервера на сервер хостинг-провайдера, либо с сервера одного хостинг-провайдера на сервер другого хостинг-провайдера. Вот здесь вам и поможет SSH.

    К тому же SSH позволяет редактировать файлы на сервере и удалять их одним щелчком.

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

    Американский хостинг, который поддерживает SSH:

    Посмотрите видео, в котором показывается бытовое применение ssh. Из него вы узнаете, как быстро установить связь по wi-fi между вашим компьютером на Windows и iPhone. Нужно всего лишь две программы. Ну впрочем, смотрим видео (на английском).

    Популярные обзоры хостинга

    Если Вы ищете хостинг для своего сайта, то перед Вами популярные обзоры американского хостинга.

    Читайте также:  Picostation m2 hp инструкция на русском

    Поделитесь статьей с друзьями или сохраните в закладки

    Добро пожаловать!
    Вы ищете хороший хостинг? Впервые заказываете хостинг для сайтов? Тогда здесь идеальное место, чтобы почитать хостинг обзоры и руководства на основе моего личного опыта. Устраивайтесь поудобней и начинайте просматривать сайт, и я уверен, Вы получите удовольствие! Узнать больше о сайте.

    Disclosure: I receive compensation from web hosting companies. Данная строчка требование Федеральной Торговой Комиссии США.

    iPage Обзор
    Bluehost Обзор
    FatCow Обзор
    Hostgator Обзор
    Hostmonster Обзор
    Webhostingpad Обзор

    Можете прочитать все Обзоры Хостинга или посмотреть Видео Обзор

    SSH — (Secure Shell) — это протокол удаленного управления компьютером с операционной системой Linux. В основном ssh используется для удаленного управления серверами через терминал. Если вы администратор нескольких серверов или даже продвинутый веб-мастер, то наверное, вы часто сталкиваетесь с необходимостью работать с тем или иным компьютером по ssh. В Linux для этого используется сервер ssh на машине, к которой нужно подключится и клиент, на той из которой подключаются.

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

    Но начнем с самых основ.

    Базовый синтаксис

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

    $ ssh [опции] имя пользователя @ сервер [команда]

    Важно заметить что ssh может работать по двум версиям протокола. Версии 1 и 2. Понятное дело, что версия 2 лучше и поддерживает больше типов шифрования и аутентификации. Больше в этой статье об отличиях протоколов мы говорить не будем и я буду подразумевать что вы используете версию 2.

    Опции команды SSH

    Теперь давайте рассмотрим самые основные опции команды ssh:

    • f — перевести ssh в фоновый режим
    • g — разрешить удаленным машинам обращаться к локальным портам
    • l — имя пользователя в системе
    • n — перенаправить стандартный вывод в /dev/null
    • p — порт ssh на удаленной машине
    • q — не показывать сообщения об ошибках
    • v — режим отладки
    • x — отключить перенаправление X11
    • X — включить перенаправление Х11
    • C — включить сжатие

    Это далеко не все опции утилиты, остальные выходят за рамки данной статьи. Многие настройки работы ssh можно изменять через конфигурационный файл

    /.ssh/config но здесь мы это тоже подробно рассматривать не будем.

    Настройка сервера SSH

    Настройки сервера SSH находятся в файле /etc/ssh/sshd_config. Многие из них мы тоже трогать не будем. Рассмотрим только самые интересные. Сначала откройте файл /etc/ssh/sshd.conf

    Порт ssh

    По умолчанию ssh работает на порту 22. Но такое поведение небезопасно, поскольку злоумышленник знает этот порт и может попробовать выполнить Bruteforce атаку для перебора пароля. Порт задается строчкой:

    Поменяйте значение порта на нужное.

    Протокол SSH

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

    И приведите ее к такому виду:

    Рут доступ

    По умолчанию Root доступ по ssh разрешен, но такое поведение очень небезопасно, поэтому раскомментируйте строчку:

    Доступ только определенного пользователя к SSH

    Мы можем разрешить доступ к ssh только для определенного пользователя или группы. Для этого добавьте строчки:

    AllowUsers User1, User2, User3
    AllowGroups Group1, Group2, Group3

    Здесь User1 и Group1 — пользователь и группа к которым нужно разрешить доступ.

    Выполнение X11 приложений

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

    Основные опции рассмотрели, перед тем как переходить дальше, не забудьте перезагрузить ssh сервер чтобы сохранить изменения:

    service sshd restart

    Использование SSH

    Основная цель этой статьи — показать интересные и полезные способы использования ssh, о которых, возможно, вы не знали. Переходим к самому вкусному — возможности ssh.

    Подключение к серверу

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

    Выполнить команду

    Мы привыкли подключаться к удаленному серверу, а уже потом выполнять нужные команды, но на самом деле утилита ssh позволяет сразу выполнить нужную команду без открытия терминала удаленной машины. Например:

    ssh user@host ls

    Выполнит команду ls на удаленном сервере и вернет ее вывод в текущий терминал.

    Выполнить локальный скрипт

    Выполним интерпретатор bash на удаленном сервере и передадим ему наш локальный скрипт с помощью перенаправления ввода Bash:

    ssh user@host ‘bash -s’

    Бекап на удаленный сервер и восстановление

    Мы можем сохранять бекэп диска сразу на удаленном сервере с помощью ssh. Перенаправим вывод dd с помощью оператора перенаправления |, затем сохраним его на той стороне в файл:

    sudo dd if=/dev/sda | ssh user@host ‘dd of=sda.img’

    Теперь чтобы восстановить состояние диска из сделанной копии выполните:

    ssh user@host ‘dd if=sda.img’ | dd of=/dev/sda

    Здесь и выше /dev/sda имя файла вашего жесткого диска.

    Аутентификация без пароля

    Использование ssh пароля для входа на сервер не только неудобно но и небезопасно, потому что этот пароль в любой момент может быть подобран. Самый надежный и часто используемый способ аутентификации — с помощью пары ключей RSA. Секретный ключ хранится на компьютере, а публичный используется на сервере для удостоверения пользователя.

    Настроить такое поведение очень легко. Сначала создайте ключ командой:

    ssh-keygen -t rsa

    Во время создания ключа нужно будет ответить на несколько вопросов, расположение оставляйте по умолчанию, если хотите подключаться без пароля — поле Passphare тоже оставьте пустым.

    Затем отправляем ключ на сервер:

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

    Взять пароль из локального файла

    Напомню, что хранить пароли в обычных текстовых файлах небезопасно, но если хотите, то да — возможно. Для этого используется оператор перенаправления ввода Bash:

    Изменить приветствие SSH

    При входе по ssh может выводиться приветствие, изменить его очень легко. За это отвечает файл /etc/issue. Просто откройте этот файл и введите нужный текст:

    Смотрим неудачные попытки входа SSH

    Хотите посмотреть были ли попытки неудачного доступа по ssh к вашему серверу и с каких IP адресов? Запросто, все запросы логируются в файл /var/log/secure, отфильтруем только нужные данные командой:

    cat /var/log/secure | grep "Failed password for"

    Передача файлов по SSH

    Кроме выполнения команд, можно копировать файлы по ssh. Для этого используется утилита scp. Просто укажите файл, который нужно передать, удаленный сервер и папку на сервере, вот:

    $ scp /адрес/локального/файла пользователь@ хост: адерс/папки

    Кроме утилиты scp, передача файлов ssh может быть выполнена более хитрым способом. Прочитаем файл и с помощью cat, передадим, а там сохраним поток в файл:

    cat localfile | ssh user@host "cat > remotefile"

    Читайте также:  Cougar atx 1050w gold gx1050

    ssh user@host "cat > remotefile"

    Пойдем еще дальше, вы можете сжимать файлы перед передачей с помощью tar, а потом их сразу же на лету распаковывать:

    tar czf — /home/user/file | ssh user@host tar -xvzf -C /home/remoteuser/

    Такое копирование файлов ssh позволяет отправлять сразу целые папки.

    Запуск графических приложений по ssh

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

    Затем просто выполняем команду запуска графического приложения на удаленном сервере вот таким образом:

    ssh -XC user@remotehost "eclipse"

    Как вы уже видели опция X разрешает перенаправление X11 на стороне клиента, а С — сжатие данных.

    Завершение сессии ssh

    Если вы использовали ssh с нестабильным интернетом, когда соединение время от времени рвется, то вам уже, наверное, надоело закрывать терминал, потому что иначе, на первый взгляд, сеанс никак не прекратить. Когда соединение с удаленным сервером разорвано вы не можете ввести никакую команду и сочетания клавиш Ctrl+C, Ctrl+Z, Ctrl+D не работают. И не будут работать поскольку клиент пытается отправить эти команды на сервер. Но есть решение — Escape последовательности. Чтобы активировать их поддержку добавьте строку:

    В файл /etc/ssh/ssh_config

    Теперь, чтобы разорвать ssh соединение достаточно нажать Enter и набрать:

    Другие управляющие символы можно узнать нажав:

    Выводы

    Теперь вы знаете как пользоваться ssh. Как видите, технология ssh позволяет сделать намного больше чем можно предположить с первого взгляда, и это еще далеко не все. Какие интересные возможности SSH используете вы при повседневной работе? Поделитесь в комментариях!

    Этичный хакинг и тестирование на проникновение, информационная безопасность

    Оглавление

    Для подключения к SSH серверу нужен клиент SSH. Подключиться можно из любой операционной системы и даже с мобильного телефона.

    Подключение к SSH из Linux

    Вам нужно установить пакет ssh (содержит клиент и сервер SSH). На Debian и производных имеется отдельный пакет с клиентом ssh-client — достаточно установить только его или также пакет ssh.

    Подключение к SSH из Windows

    Для Windows имеются клиенты SSH, например PuTTY. Но это только клиент, без дополнительных возможностей — например, с PuTTY не получится создать ключи для входа на SSH без пароля. По этой причине я сам предпочитаю и рекомендую Cygwin (смотрите «Как начать знакомство с командами Linux: Cygwin»).

    Эта программа содержит полнофункциональную версию SSH, в том числе вы без проблем сможете создавать ключи и выполнять другие типичные для SSH действия. По своей сути Cygwin реализует многие возможности командной строки Linux.

    Подключение по SSH с мобильного телефона

    Имеется большое количество бесплатных программ для подключения к SSH — поищите в магазине приложений «ssh client». Они различаются возможностями: поддержкой работы с ключами, возможность переходить в ландшафтный режим, удобство доступа к специальным клавишам и т. д. — просто выберите любой из них, который вам больше нравится.

    На этом скриншоте я с телефона подключился к настольному компьютеру по SSH и запустил программу мониторинга Wi-Fi сетей. То есть я могу управлять системой Linux и наблюдать за результатами работы программ с телефона.

    Как подключиться к SSH

    Клиент SSH на Linux — это утилита командной строки, поэтому для ввода команд нужно открыть консоль. А пользователям Windows команды для подключения к SSH серверу нужно вводить в Cygwin.

    Команда для подключения имеет следующий вид:

    Всё, что помещено в квадратные скобки, является необязательным. То есть в самом простом варианте команда для подключения может быть такой:

    В качестве АДРЕСАТа нужно указать IP к которому нужно подключиться или имя хоста. Поскольку пользователь не указан, то клиент SSH в качестве имени пользователя подставит имя пользователя в текущей сессии.

    Типичная команда для подключения выглядит так:

    В качестве ПОЛЬЗОВАТЕЛя нужно указать имя пользователя на удалённой системе, к которой выполняется подключение. В процессе подключения для этого пользователя нужно будет подтвердить свою личность — с помощью пароля или ключа.

    Если КОМАНДА не указана, то будет открыт обычный интерактивный шелл к удалённой системе. Если КОМАНДА указана, то при успешном подключении она будет выполнена, а интерактивный шелл открыт не будет, ssh завершит свою работу после выполнения команды.

    Также можно указать URI следующего формата:

    Обратите внимание, что в предыдущей записи после двоеточия можно указать порт, для команды вида:

    нельзя указать порт после двоеточия — для этого используется опция -p.

    При первом подключении SSH выведет информацию с запросом:

    Первая строка сообщает нам, что программа не может установить соединение с этим хостом — но не надо спешить расстраиваться.

    Во второй строке нам показывают уникальный отпечаток удалённого хоста и спрашивают, хотим ли мы к нему подключиться?

    Набираем: yes

    Далее появляется сообщение, что хост добавлен в список известных хостов:

    При последующих подключениях это сообщение показываться не будет.

    Данная процедура — предупреждение о подключении к новым хостам — является надёжной защитой от спуфинга (подмены) IP адресов при подключении: если вы подключаетесь к одному и тому же хосту, то это сообщение больше не должно появляться. Если это сообщение появилось вновь, то это означает, что происходит подключение к какому-то другому хосту!

    Чтобы закончить сессию (отключиться), наберите:

    Или нажмите Ctrl+D.

    Подключение к SSH по имени хоста

    У меня есть VPS, у которой IP адрес 185.117.153.79, чтобы подключиться к ней я выполняю команду:

    Но всё время держать в уме IP адрес неудобно, особенно если серверов несколько. Было бы удобнее, подключаться к хосту по легко запоминаемому имени. Это IP адрес сервера SuIP, поэтому в качестве короткого имени я выберу suip, а в качестве ещё более короткого псевдонима просто букву s.

    Чтобы операционная система начала узнавать эти имена, нужно настроить файл hosts. В Windows этот файл размещён по пути C:WindowsSystem32driversetchosts, а в операционной системе Linux это файл /etc/hosts. Кстати, ещё больше подробностей об этом файле вы найдёте в статье «Как настроить локальный DNS используя файл /etc/hosts в Linux».

    Итак, нужно добавить записи вида:

    Для своего примера я добавляю такую строку:

    Сохраняю и закрываю файл hosts. Теперь я могу подключиться к данному хосту набрав следующую команду:

    Или даже в таком виде подключение также пройдёт успешно:

    Ещё один вариант, как добиться этого же эффекта без редактирования системного файла hosts, будет чуть ниже.

    Подключение по SSH к хосту в VPN

    VPN, то есть виртуальная частная сеть, состоит из подключённых к ней хостов, которые могут быть разбросаны по всему миру, но которые благодаря VPN объеденены в одну локальную сеть, внутри которой каждый узел может связываться с другим по локальному IP адресу. Причём соединения надёжно зашифрованы и сторонние лица не смогут узнать, какой именно трафик передаётся внутри VPN.

    Читайте также:  Err ssl protocol error яндекс браузер

    Предположим, я хочу подключиться по SSH к компьютеру, который находится в VPN к которой я также подключён. В этом случае я могу подключиться указав IP интересующего меня компьютера в VPN сети, например:

    Некоторую дополнительную информацию смотрите здесь.

    Выполнение команд на удалённом сервере без создания сессии шелла

    Кроме открытия сессии шелла на удалённой системе, ssh также позволяет выполнять отдельные команды на удалённой системе.

    Например, для выполнения команды tree на удалённом хосте с IP адресом 192.168.1.36 и отображением результатов на локальной системе, нужно сделать так:

    Используя эту технику, можно делать интересные вещи, вроде такой, как выполнение команды ls на удалённой системе и перенаправление вывода в файл на локальной системе:

    Обратите внимание на одиночные кавычки в вышеприведённой команде. Это сделано потому, что мы не хотим, чтобы раскрытие пути было выполнено на локальной машине; поскольку нам нужно это выполнение на удалённой системе. Также если мы хотим стандартный вывод перенаправить в файл на удалённой машине, мы можем поместить оператор редиректа и имя файла внутри одиночных кавычек:

    Передача стандартного вывода с локальной машины на удалённую по ssh

    Не менее интересный вариант выполнения команд будет приведён немного ниже:

    Команда cat построчно считывает и отображает содержимое файла .ssh/id_rsa.pub, расположенного на локальной машине.

    | (труба) передаёт то, что должно было бы появиться в стандартном выводе, другой команде.

    Вместо команды, которая должна была бы обрабатывать передаваемые ей строки, происходит соединение к удалённой системе (ssh mial@192.168.1.36).

    На удалённую систему приходят строки, для которых предусмотрена команда cat >> .ssh/authorized_keys. Т.е. содержимое стандартного вывода построчно записывается в файл .ssh/authorized_keys, находящийся на удалённой машине.

    Опции командной строки клиента SSH

    У клиента SSH много опций командной строки, но они в большей части предназначены для перенаправления трафика и продвинутых случаев использования SSH. В этой части рассмотрим только некоторые из самых часто востребованных опций.

    -p ПОРТ

    Устанавливает порт, к которому нужно подключиться на удалённом сервере SSH. Портом по умолчанию является 22. Эту настройку можно установить в конфигурационном файле персонально для каждого хоста.

    -E log_file

    Добавляет отладочные логи к файлу log_file вместо стандартного вывода ошибок.

    -F configfile

    Определяет альтернативный файл конфигурации на уровне каждого пользователя. Если в командной строке указан файл конфигурации, системный файл конфигурации (/etc/ssh/ssh_config) будет проигнорирован. По умолчанию для файла конфигурации на уровне пользователя используется

    Конфигурационные файлы клиента SSH

    /etc/ssh/ssh_config

    Общесистемный файл конфигурации клиента SSH.

    /etc/ssh/ssh_known_hosts

    Общесистемный список ключей известных хостов. Этот файл должен быть подготовлен системным администратором, чтобы он содержал открытые ключи хостов всех компьютеров в организации. Этот файл должен быть читаемым для всех.

    Эта директива является стандартным расположением для хранилища конфигураций и информации для аутентификаций специфичных для пользователей. Нет требования хранить всё содержимое этой директории в секрете, но рекомендуется настроить разрешения на чтение/запись/выполнения так, чтобы они были у пользователя, но не были у других.

    Это конфигурационный файл с настройками каждого пользователя. Из-за возможного злоупотребления этот файл должен иметь строгие разрешения: чтение/запись для пользователя и недоступность для записи другими.

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

    Конфигурационные директивы файлов /etc/ssh/ssh_config и

    Конфигурационные данные обрабатываются в следующем порядке и имеют следующий приоритет:

    1. Опции командной строки

    2. Файл со специфичными для пользователя настройками

    3. Файл с общесистемными настройками /etc/ssh/ssh_config

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

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

    Необходимо отметить на специальные директивы Host и Match, которые разбивают файл на блоки.

    Директива Host устанавливает имя хоста, к котором применяются все последующие настройки, пока не будет встречена другая директива Host или Match.

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

    Шаблон может иметь противоположное значение, если перед ним поставить восклицательный знак (‘!’). Если запись с отрицанием соответствует, то тогда пункт Host игнорируется, если не произойдёт совпадение с другими шаблонами. Следовательно, совпадения с отрицаниями полезны для обеспечения исключений из совпадений по подстановочным символам.

    Далее показан небольшой фрагмент конфигурации, в которой для хоста 10.6.0.1 устанавливается порт подключения 55455, для хоста 192.0.100.8 в качестве порта подключения будет использован 2222, а для всех остальных хостов будет выполнено подключение к 22 порту:

    Эти конфигурационные файлы содержат пары «ключевое слово — аргумент», одна пара на одной строке. Опционально аргументы можно заключить в двойные кавычки ("), чтобы передать аргументы, содержащие пробелы.

    Ключевые слова не чувствительны к регистру, а аргументы чувствительны к регистру.

    Многие директивы закомментированы, но они указывают на значение по умолчанию, которое всё равно используется. Если вас устраивает значение по умолчанию, то не нужно ничего менять. Если же вы хотите другое значение, то нужно раскомментировать строку с соответствующей директивой (убрать символ #) и внести изменения.

    Параметры конфигурации могут быть разделены пробелами или необязательными пробелами и ровно одним ‘=’; последний формат полезен, чтобы избежать необходимости заключать значения с пробелами в кавычки при указании параметров конфигурации с использованием параметров ssh, scp и sftp -o.

    Поскольку для каждого параметра используется первое полученное значение, в начале файла должны быть приведены более специфичные для хоста объявления, а в конце общие значения по умолчанию.

    Выше уже рассмотрен пример подключения к удалённому SSH серверу по лаконичному имени вместо IP адреса. Это общесистемная настройка преобразования имени в IP адрес, в результате теперь имена suip и s можно использовать с любой программой — хоть в веб-браузере, хоть с утилитами, например с ping:

    Но у ssh клиента есть свая собственная функциональность задать удобное (хорошо запоминающееся) имя хоста. Причём они позволяют сразу указать и порт, что с предыдущем методом сделать невозможно.

    К примеру, IP адрес моего SSH сервера 185.117.153.79, его порт 54321 и я хочу добавить возможность подключаться к нему по имени Host, тогда в файл

    /.ssh/config мне достаточно добавить следующее:

    Как видим, используется директива HostName — она устанавливает настоящее имя хоста, в том числе можно указывать IP адрес.

    Директива Port устанавливает порт, который должен использоваться для данного хоста.

    В результате, теперь можно подключаться по обычной команде:

    Либо применять её полный эквивалент:

    С полным списком директив, которые можно использовать в конфигурационном файле, можно ознакомиться командой:

    Для получения информации об опциях командной строки выполните:

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

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