Инструменты пользователя

Инструменты сайта


ssh_без_пароля_из_linux_и_windows

Чтобы заходить на планшет, на которой установлен сервер ssh, без ввода пароля, требуется сгенерировать ключевую пару (публичная и секретная части). Публичная часть затем копируется на планшет в каталог /root/.ssh/ в файл с названием authorized_keys. Каждый публичный ключ должен занимать ровно одну строку. Права на этом файле должны быть «rw——-» (0600) - это очень важно, иначе sshd будет игнорировать этот файл!

Если у Вас на компьютере установлен Linux

Для Linux всё делается очень просто. Первым делом сгенерируйте себе ключевую пару командой:

ssh-keygen -t dsa

На все вопросы программы можно отвечать просто нажимая Enter. Когда утилита попросит ввести ключевую фразу для защиты секретного ключа, нажмите просто Enter если защита не нужна. Иначе при каждом логине через ssh Вам придётся вводить эту фразу для расшифрования уже Вашего секретного ключа :-)

При этом в каталоге ~/.ssh/ у Вас появится два файла: id_dsa (секретный ключ) и id_dsa.pub (публичный ключ, можно раздавать направо и налево). Теперь Вам надо скопировать Ваш публичный ключ на планшет:

ssh-copy-id -i ~/.ssh/id_dsa.pub root@xx.xx.xx.xx

где xx.xx.xx.xx - IP адрес планшета. Программа спросит Вас пароль root на планшете, и это будет последний раз, когда Вы его вводили :)

После этого можно заходить на планшет без ввода пароля просто командой: ssh root@xx.xx.xx.xx

Если у Вас на компьютере установлена Windows

Для работы через ssh из Windows обычно используется программа PuTTY. Первым делом следует скачать свежую версию, на всякий случай. Лучше всего скачать сразу PuTTY.zip, там внутри есть все необходимые утилиты.

Первым делом сгенерируем ключевую пару. Это делается утилитой PUTTYGEN.EXE. Заходим в меню «Key» и выбираем тип ключа - «SSH2 DSA Key». После этого нажимаем кнопку «Generate» и развлекаемся, возюкая мышой над областью с надписью «Please generate some randomness».

Когда генерация завершится, первым делом сохраните ключевую пару. Отдельно «Save public key» и отдельно «Save private key». Не пугайтесь, когда PuTTYGEN начнёт заламывать руки и просить защитить секретный ключ паролем - не поддавайтесь :) Просто постарайтесь, чтобы Ваш секретный ключ (private key) не попал в руки злодея, иначе он тоже сможет заходить на планшет без пароля :-)

Теперь (не закрывая PuTTYGEN!) запустите PuTTY.EXE. Если Вы сохранили настройки соединения - загрузите их. Теперь идём на закладку Connection → SSH → Auth и в поле «Private key for authentication» загрузите свой файл с секретным ключом. Возвращаемся на закладку Session и сохраняем настройки. Теперь заходим на планшет через SSH (пока ещё с паролем).

Теперь нам надо сохранить публичный ключ в файл ~/.ssh/authorized_keys. Делаем так:

mkdir ~/.ssh

chmod 700 ~/.ssh

vi ~/.ssh/authorized_keys

Открывается редактор vi, который на своём веку испугал немало новичков ;-) Сначала зайдём в режим редактирования, нажав кнопку «i». Публичный ключ в формате OpenSSH надо взять в программе PuTTYGEN (я надеюсь Вы её не закрыли?) - он размещён в поле «Public key for pasting into OpenSSH authorized_keys file». Выделите его мышкой и скопируйте в клипборд. Теперь вставьте его в окно PuTTY (просто щёлкнув в окне PuTTY правой кнопкой мыши). Сохраните файл нажав <ESC> «:» «wq» <Enter>. Вы должны оказаться опять в командной строке. Теперь установим права доступа на этот файл:

chmod 600 ~/.ssh/authorized_keys

Всё, теперь можно пытаться зайти на планшет через PuTTY, и теперь он не должен спрашивать пароля. Если Вы хотите, чтобы он не спрашивал и логина, Вам следует вбить логин в поле Connectiion → Data → Auto-login username.

Если у Вас на компьютере есть и то и другое

В принципе, Вы можете просто вбить в ~/.authorized_keys два публичных ключа (один из Linux, второй из Windows). Но можно и задействовать один ключ для обоих операционных систем. Для этого перенесите в Windows файл id_dsa (к слову, PuTTY и компания прекрасно работают под WINE). Затем запустите утилиту PuTTYGEN, затем выберите пункт меню Conversions → Import key. Найдите и загрузите свой файл id_dsa. Теперь Вы можете нажать на кнопку Save private key, и сохранить секретный ключ в формате PuTTY. Дальше делаем всё то же самое, что и в разделе «Если у Вас Windows».

–Zap, 17 июня 2008, ver 4

ssh_без_пароля_из_linux_и_windows.txt · Последние изменения: 2009/12/19 15:53 — dik