Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
# ssh-copy-id -i public_key_file user@machine
После соединения с сервером machine и передачей имени пользователя user (необходимо указывать, если удалённое имя отличается от локального) происходит парольная аутентификация заданного пользователя (или текущего) на удалённой машине, затем происходит копирование ключа public_key_file (или $HOME/.ssh/identity.pub, если имя файла не указано) на сервер в $HOME/.ssh/authorized_keys. После этого можно входить на сервер, не используя пароль пользователя. При выполнении данной операции учтите, что вы должны скопировать на удалённую машину ПУБЛИЧНЫЙ ключ, иначе всё будет очень печально (думаю, ясно почему).
Обычная парольная аутентификация
Тут можно отметить только одно: в любом случае вначале идёт обмен асимметрическими ключами, и хеш пароля передаётся в зашифрованном виде. Парольная аутентификация используется наиболее часто, но, честно говоря, ssh предлагает более удобные методы аутентификации, и пользоваться ими можно, если к ssh есть все заплатки. И, конечно же, протокол версии 1 необходимо вырубить вообще. Итак, начинаем настройку...
Я заметил, что большинство администраторов просто оставляют конфиги клиента и сервера по умолчанию, чтобы руки не марать. Но это неправильно: в разных системах эти конфиги различаются очень существенно, и это приводит к неразберихе и непониманию работы сервера, что создаёт дополнительную угрозу безопасности (свой сервак – потёмки). Для этого я решил описать файлы конфигурации ssh на примерах ssh_config и sshd.conf для клиента и сервера соответственно. Для конфигурации клиента используется файл $HOME/.ssh/config или /etc/ssh/ssh_config (для всей системы). Файл имеет следующий формат: определение адреса хоста и параметры для него. В адресе можно использовать обычные шаблоны «*» и «?», все имена параметров и их значения должны быть набраны в том же регистре, что и в примере (иначе параметр воспринят не будет). Вот пример ssh_config, который содержит наиболее полезные опции (на самом деле описывать некоторые параметры конфигурации ssh не имеет смысла, т.к. употребляются они очень редко):
# Определение хоста, в данном случае включает все хосты домена test.ru, можно использовать одиночный символ «*» чтобы указать параметры
# доступа к любому хосту
Host *.test.ru
# Эта опция определяет, будет ли ssh использовать передачу данных от удалённого X сервера через свой безопасный канал. Далее будет
# описано, каким образом организуются безопасные туннели через ssh. Данная возможность позволяет защищать по идее небезопасные протоколы
# (X, pop, smtp, ftp) шифрованием ssh. По умолчанию данная опция – no
ForwardX11 yes
# Список предпочтительных методов аутентификации через ssh версии 2. Первым стоит самый предпочтительный протокол, думаю, значения
# данного параметра ясны
PreferredAuthentications hostbased, publickey,keyboard-interactive
# Этот параметр определяет, будет ли производится стандартная парольная проверка. По умолчанию – yes.