SSH. Авторизация через ключ
Если вам надоело вводить логин и пароль при подключении по SSH, либо ваше приложение не поддерживает ввод логина и пароля для SSH, а соединиться всётаки надо, то вам просто необходимо использовать авторизацию по ключам!
Для этого надо настроить на стороне клиента и сервера ключи, для клиента будет приватный, а на сервере будет храниться публичный ключ.
Настройка на стороне клиента
Создайте и/или отредактируйте файл "~/.ssh/config":
Host example User username Hostname example.com Port 22 IdentityFile ~/.ssh/username_example
Где,
- "Host example" - название хоста, которое вы будете указывать при подключении по SSH (Пример: "ssh example");
- "User username" - имя вашего пользователя на сервере;
- "Hostname example.com" - имя хоста вашего сервера (в отличии от Host это действительно имя сервера, а не просто имя для соединения);
- "Port 22" - SSH порт;
- "IdentityFile ~/.ssh/username_example" - файл с публичным ключом.
Генерация ключей и передача их на сервер
Далее, сгенерируем ключи.
После чего сразу же перешлём публичный ключ на сервер, а приватный переименуем в "~/.ssh/username_example":
ssh-keygen scp ~/.ssh/id_rsa.pub username@example.com:~/.ssh/authorized_keys mv ~/.ssh/id_rsa ~/.ssh/username_example chmod -R 600 ~/.ssh chmod 700 ~/.ssh
Теперь должно подключаться по ключу:
ssh example
Если нет, то пишите камменты :)
Утилита ssh-copy-id
Также есть более быстрый (меньше телодвижений) и правильный (он добавляет ключ в "~/.ssh/authorized_keys" на сервере, а не замещает как "scp") способ передавать публичный ключ на сервер, это утилита ssh-copy-id.
То есть вместо:
ssh-keygen scp ~/.ssh/id_rsa.pub username@example.com:~/.ssh/authorized_keys
надо использовать так:
ssh-keygen ssh-copy-id -i username@example.com
Если у вас отличный (например, 2424) от умолчательного порт (22), то можно так:
ssh-copy-id -i '-p 2424 username@example.com'
Ну вот и всё, смотрите также:
WordPress. Обновление движка и плагинов через ssh
Первые меры безопасности во FreeBSD
FreeBSD. Без парольный доступ по SSH с использованием шифрованных ключей
FreeBSD. DenyHosts защитит вас от брутфорса SSH
Комментарии
под винду для генерации можно юзать puttykey
ссори, puttygen
Если лень вводить пароль каждый раз, открой ssh сессию в byobu и не закрывай ее =)
А меня вот интересует как мой биометрический APC привязать к SSH по отпечатку руки
AES3500
Миш, а ты fabric юзать пробовал?
Я на эту твою статью набрел как раз в поисках ускорения работы с fabric. Могу подкинуть примеры нескольких рабочих fabfile. Думаю может пригодиться в знакомом нам с тобой проекте :) Да и вообще.
Я лично перевел деплой своих проектов на fabric. Доволен как слон. Одной командой делаю коммит, деплой и рестарт удаленных сервисов.
Сейчас на самизнаетекаком проекте мы юзаем fabric, причем уже полгода как минимум :)
Полезная весч!!
Оставьте свой комментарий