Comments 38
Для пользователей линукса добавьте «инструкцию», там кажется одна команда
ssh-keygen -t rsa
и ключик появляется в директории ~/.ssh/
Brilliant!
А я всю жизнь как дурак делал:
cat .ssh/id_rsa.pub | ssh user@server "cat >> .ssh/authorized_keys"
Я бы предпочел решение с галочкой «запомнить пароль», чем 30-шаговый геморрой с каждым из своих SSH аккаунтов. Как минимум для некритичных серверов.
Не умеет, но умеет принимать пароль из параметра командной строки -pw.
Можно сохранить сессию, либо в сессии указать логин -load «mysession», либо в командной строке -l mylogin
Но это еще менее секурно, чем ключи, например палится process explorer-ом, который в command line говорит все ключи, с которыми было запущенно приложение.

Собственно всё есть в доке.
В командной строке — да, небезопасно. А если нормальное хранилище паролей на диске, то вполне. Украсть файл ключа и украсть файл с паролем — вполне равнозначные задачи, зато нам не нужно конфигурировать каждый сервер и каждый аккаунт с использованием кучи команд и трех программных средств.
Я надеюсь, что в глубине души, Вы понимаете, что глубоко заблуждаетесь.
Когда у вас есть ключ. это уже 1 команда и 0 программных средств.
Хотя, учитывая, что Вы пользователь виндоуса, и не понимаете всей серьезности безопасности, а так же, скорее всего, вы слабо представляете, что такое ключи, то вам проще использовать пароли — до первого трояна.
Самое худшее что можно сделать в диалоге — высказать обвинение в адрес собеседника, основав его на некоей предпосылке, которая окажется ложна. Нет, я не пользователь виндоуса:)

И да, я веб-разработчик серверных решений, мне нужно много тестировать их т.к. они идут клиентам и за них дорого платят. Для этого на clodo я создаю множество виртуалок на час/день/сутки, обкатывая свои решения в различных конфигурациях, и потом удаляя виртуалки. При этом мне совершенно плевать на безопасность этих машин т.к. они все равно будут удалены. Я готов использовать любой, самый небезопасный метод, лишь бы он экономил мне время. Время — вот что критично при тестировании.
Ну тогда вам тем более прямая дорога к ключам. Сгенерировав однажды свой ключ (ssh-keygen), вам нужно лишь прописать его на сервере (ssh-copy-id server). Вуаля :) Не нужно организовывать безопасное хранилище паролей, искать галочку «сохранить пароль» или думать как его скормить ssh клиенту. А если есть возможность зашить публичный ключ в шаблон виртуалки — так вобще ничего делать не нужно :)
Про ssh-copy-id не знал, спасибо вам и другим в эом топике, кто про нее написал. Осталось найти с какого порта ее поставить…
> дорого платят
жалко клиентов и удачи вам, может лучше податься в менеджеры, если способны продать себя дорого, а работу отдать тем, кто может ее сделать качественно?
Прошу простить. Перед публикацией, я воспользовался поиском, однако указанные топики не нашел.
Кстати, а никто не пробовал генерировать в винде ключик длиной 32кбит? :-)
Причём, не особо эффективно. При большом желании многое (если не всё) можно восстановить.
Настраивал авторизацию по ключам с OpenWRT( dlink dir 615) на Mikrotik( 750GL). Хотелось сделать чтобы по нажатию кнопки на Dlink микротик выполнял определённые команды.

Долго мучался с авторизацией по ключам, генерировал и в убунту и в PuttyGen. Оказалось, что приватный ключ в OpenWRT хранится в каком-то странном формате, а публичный ключ выводится в текстовом виде и его нужно подогнать под формат понятный микротику.
Абсолютно бесполезная статья от человека, который не различает аутентификацию и авторизацию.
UFO landed and left these words here
Можно упростить, если только для ssh через PuTTY и только под одним пользователем:

1. Генерируем ключи; добавляем публичный ключ на сервер;
2. В настройках PuTTY Connection->Data->Auto-login username указываем пользователя под которым логиниться;
3. В настрйоках PuTTY Connection->SSH->Auth->Private key file for authentication указываем приватный ключ.

Сохраняем сессию и, по желанию, делаем ярлык на запуск PuTTY с этой сессией. Итого — за один клик входим на сервер по ssh.
Ну, не работает оно так. Как в инструкции в статье, как вы пишите делаю, не работает. По ключу не пускает на OpenSSH сервер.
Расскажите, что там такого ещё нужно добавить. Искренне в толк не возьму. И соплеменников моих не работает.
Проверьте права на ~/.ssh, ~/.ssh/authorized_keys, sshd очень не любит слишком широкие права на чтение/запись
[ahmpro@orion ~]$ ls -la | grep .ssh
drwx------  2 ahmpro ahmpro 4096 Sep  8 08:02 .ssh
[ahmpro@orion .ssh]$ ls -la
total 12
drwx------ 2 ahmpro ahmpro 4096 Sep  8 08:02 .
drwx------ 6 ahmpro ahmpro 4096 Sep  8 08:53 ..
-rw------- 1 ahmpro ahmpro  388 Sep  8 08:02 authorized_keys

ну и самособой смотреть логи
Прошу заметить, что авторизация по ключам (в отличие от пароля) дает возможность авторизации в SFTP под одним логином нескольким субъектам (людям, скриптам) с разными ключами.
Зачем? Ну например: архивы с нескольких компьютеров скидываются на центральный сервер в общую папку по SFTP (не FTP!). Под виндой- PSCP.EXE под никс-scp.
В этом случае не требуется заводить десятки юзеров типа: backup1...backupN — достаточно открытые ключи всех источников разместить в /home/backup/.ssh/authorizedkeys
Кто нибудь скажет мне логическое объяснение того, почему в putty свой формат ключей (не, puttygen конечно есть, но ЗАЧЕМ свой формат???)
Сумбурная статья.

Воспользовался этой статьей:
habrahabr.ru/blogs/linux/39254/

Написана два года назад ровно на ту же тему. Сжато и по делу. :)

Вопрос: теперь я могу залогиниться без пароля, но для использования sudo все равно нужно пароль вводить каждые 20 минут? :(
Нашел, как отменить запрос пароля для sudo.

Открываем файл sudoers на редактирование специальным способом (просто так его править нельзя):
$ sudo EDITOR=nano visudo

В конец файла прописываем строчку:
vpupkin ALL=(ALL) NOPASSWD: ALL

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

Затем Ctrl+O для сохранения (unix way, ага) и Ctrl+X для выхода.
Only those users with full accounts are able to leave comments. Log in, please.