пароли в putty

Тема в разделе "Десктопный Linux", создана пользователем absurdo, 1 дек 2010.

Модераторы: Цукер
  1. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Есть ли какая нибудь примочка к putty, чтобы можно было сохранять пароли в зашифрованном виде?
    Например, ввожу мастер-пароль и могу подключаться к разным серверам с заранее сохраненными паролями.
     
  2. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Есть - использование ключей для авторизации.
    В комплекте с putty идёт pageant (Putty authentication agent).
    Генерируем ключ, ставим на него пароль, на разных серверах прописываем в authorized_keys свой ключ, потом заходим по ключу.
     
  3. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    пароль на ключ вводить придется каждый раз?
     
  4. Maza

    Maza

    Регистр.:
    3 июл 2007
    Сообщения:
    255
    Симпатии:
    118
    нет, ключ придётся носить на флехе, если собираешься с любой точки коннектится. Ключ будет ввиде текстового файла.
     
  5. 3xmaster

    3xmaster

    Регистр.:
    19 июн 2007
    Сообщения:
    552
    Симпатии:
    130
    Расскажи, плз, подробней как что.
     
  6. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    1. Запускаем puttygen.exe
    2. Выбираем Key -> Generate key pair
    3. Ждем пока сгенерится ключ
    4. Копируем значение из окна Public key for pasting into OpenSSH authorized_keys file
    5. На сервере создаем файл ~/.ssh/authorized_keys
    6. Копируем в него значение из п. 4
    7. Ставим права на ~/.ssh/authorized_keys 600 или 400
    8. При желании задаем пароль на закрытый ключ, введя его два раза в полях Key passphrase и Confirm passphrase окна puttygen
    9. Сохраняем приватный ключ (если не ввели пароль вылетет предупреждение, действительно ли сохранить без защиты паролем), сохранится с расширением .ppk
    10. Сохраняем на всякий случай публичный ключ, чтоб в дальнейшем можно было добавлять его на другие сервера
    11. Запускаем putty
    12. Создаем новое соединение, вбиваем IP и при необходимости порт для SSH соединения, если на сервере юзаем не стандартный 22й
    13. Заходим во вкладку Data меню Connection, прописываем в поле Auto-login username свой логин для сервера.
    14. Заходим во вкладку SSH в меню конфигуратора слева, на вкладке Auth меню SSH ставим галочки: Attempt authetication using Pageant (пробовать ключи из менеджера ключей) и Attempt "keyboard-interactive" auth (SSH-2) - это на случай если ключ не подошел, при настроенной системе я обычно снимаю.
    15. Там же прописываем путь в Private key file for authentication к ключу .ppk сгенеренному в п. 9
    16. Запускаем pageant.exe, жмем add key, добавляем приватный ключ из п.9
    17. Сохраняем конфигурацию соединения которую начали делать в п. 12
    18. Запускаем созданное соединение и смотрим как прошло. Если ключ генерили с паролем и не запущен pageant попросит ввести пароль на ключ при подключении, напишет что-то по типу:
    Authenticating with public key "test-key"
    Passphrase for key "test-key"
    вводим пароль на ключ, попадаем в систему.
    19. Пробуем зайти с запущенным pageant.exe пароль на ключ спросит при запуске агента, соединения будут открываться без запроса.

    P.S.
    1. Если кто-то заполучит ваш закрытый ключ, не защищенный паролем он получит доступ ко всем вашим серверам, на которых был настроен вход по ключу.
    2. Если не удается войти по ключам, проверяем права на ~/.ssh/authorized_keys, смотрим конфиг sshd_config на предмет изменений относительно строки, содержащей authorized_keys - бывает дефолтовые значения меняют на хранение всех ключей в одном месте и это правильно.
    3. Читаем auth логи сервера на предмет ошибок.
    4. Если потеряли закрытый ключ, первым делом удаляем ~/.ssh/authorized_keys на сервере, потом генерим новые пары ключей.
    5. Юзайте portaputty http://code.google.com/p/portaputty/ он хранит все настройки соединений в своей папке, а не в реестре, там же все ключи, очень удобно при таскании всего этого хозяйства на свой флешке в truecrypt контейнере.
    Peace! :)
     
    Ray23, absurdo и netw01f нравится это.
  7. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    можно ли будет все это осуществить без прав roota?
     
  8. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Если конфигурация sshd сервера дефолтовая, то да.
    Файл с открытым ключем располагается в домашней директории пользователя, который будет входить по ключу.
     
  9. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Например в WinSCP можно зашифровать пароли мастер паролем. Но там файловый менеджер хороший, а доступ именно к консоли по SSH какой то кривой.
     
  10. Ray23

    Ray23 Создатель

    Регистр.:
    10 фев 2009
    Сообщения:
    27
    Симпатии:
    4
    ask0n, хороший мануал, у меня также сделана авторизация через сертификаты, очень удобно и хорошо защищает сервер от взлома. От себя лишь добавлю, что желательно еще заблокировать вход из под рута и стандартный 22 порт заменить на что-то другое, ну и не забыть открыть его в файрволе, а 22й порт оставить для portsentry.
    Код:
    IPTABLES="/sbin/iptables"
    INET_IFACE="ppp0"
    ...
    $IPTABLES -N tcp_packets
    $IPTABLES -N allowed
    ...
    $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport xxxxx -j allowed # ssh
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
    ...
    $IPTABLES -A allowed -p TCP --syn -j ACCEPT
    $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A allowed -p TCP -j DROP
    
    PS. ask0n, за portaputty спасибо, для флэшки самое то!:)