<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5591484190086716210\x26blogName\x3d%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8+ubuntu\x27%D0%B9%D1%86%D0%B0\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://tlanvar.blogspot.com/search\x26blogLocale\x3dru\x26v\x3d2\x26homepageUrl\x3dhttp://tlanvar.blogspot.com/\x26vt\x3d1840766964675028820', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Записки ubuntu'йца

Делюсь вот своими наблюдашками.


OpenSSH. Часть 5. Вход без пароля.

пятница, июля 13, 2007

Вводить пароли утомительно, особенно если они состоят из нескольких слов, но ведь можно использовать OpenSSH для открытия подключений без ввода пароля (но при этом сохранить защиту подключения). Для этого существуют следующие приложения - ssh-agent и keychain. Расмотрим каждую из них.

Использование ssh-agent.

Сперва необходимо настроить открытый и закрытый ключ (об этом я здесь уже писал), а затем воспользуйтесь ssh-agent. Эта программа обрабатывает запросы на аутентификацию при подключении к различным системам через SSH. Пароль вводится только один раз, в начале сеанса SSH; после выхода из сеанса его придется вводить заново.
Ssh-agent не позволит запланировать пересылку данных через SSH из cron. Прежде всего запустите ssh-agent с указанием используемого командного процессора:

$ ssh-agent bash

После появления стандартного приглашения запустите утилиту ssh-add, которая загружает все ключи из каталога ~/.ssh:

$ ssh-add
Enter passphrase for /home/jenn/.ssh/idrsa:
Identity added: /home/jenn/.ssh/idj-sa (/home/jenn/.ssh/idrsa)
Enter passphrase for /home/jenn/.ssh/apache_key:
Identity added: /home/jenn/.ssh/idrsa (/home/jenn/.ssh/apachekey)

В дальнейшем вы сможете войти на любой хост SSH без ввода пароля:

jenn@windbag:$ ssh powerpc
Linux powerpc 2.4.21 #1 Sun Aug 3 20:15:59 PDT 2003 i686 GNU/Linux
Libranet GNU/Linux
Last Login: Web Feb 7 18:28:20 2004 from windbag.test.net
jennOpowerpc:~$

Чтобы завершить работу ssh-agent, просто выйдите из командного процессора ssh-agent:

$ exit

Поскольку пароли и ключи ассоциируются с конкретным процессом Bash, при выходе из командного процессора ssh-agent они пропадают. Если запустить второй командный процессор для запуска другой копии ssh-agent, пароль придется вводить заново, даже если первый процесс остается активным. Чтобы узнать, какие ключи использует ssh-agent, введите команду

$ ssh-add -l
1024 65:91:77:71:24:66:46:ea:cb:00:fe:83:ad:b8:4a:34 /home/jenn/.ssh/id_rsa (RSA)
1024 da:f7:27:6a:37:4e:a5:bb:ld:00:c7:a8:e9:fe:23:d8 /home/jenn/.ssh/apachekey (RSA)

Чтобы команда сработала, необходимо вернуться к локальному командному процессору ssh-agent и не быть подключенным к удаленному хосту. При подключении работой терминала управляет удаленный хост, и вы получите сообщение об ошибке «Could not open a connection to your authentication agent». Команда ssh-add позволяет загружать конкретные ключи:

$ ssh-add /home/jenn/adminkeys/id_rsa_http

и удалять ключи из активного сеанса ssh-agent (при этом ключ не удаляется из системы):

$ ssh-add -d /home/jenn/.ssh/id_dsa
Identity removed: /home/jenn/.ssh/iddsa (/home/jenn/.ssh/idjdsa.pub)

Следующая команда удаляет все ключи:

$ ssh-add -D
All identities removed.


Использование keychain.

Программа ssh-agent неплоха, но пользователю приходится вводить пароль при каждом открытии нового командного процессора. С выходом вся введенная информация теряется. Кроме того, ssh-agent не позволяет использовать беспарольную пересылку данных SSH с cron.
Чтобы решить эти проблемы можно воспользоваться программой keychain, которая сохраняет пароли SSH на общесистемном уровне вплоть до перезагрузки. keychain также работает совместно с cron. Загрузите и установите keychain из обычных источников в формате RPM, .deb или в виде исходных текстов. Затем отредактируйте локальный файл ~/bash_profile и добавьте следующие строки:

keychain iddsa
. ~/.keychain/$HOSTNAME-sh

Укажите фактическое имя закрытого ключа: idjrsa, my_own_groovy_key и т. д. Обратите внимание на начальную точку во второй строке; она приказывает Bash прочитать файл, имя которого указано в этой строке. Вот и все. Теперь после входа на локальную рабочую станцию на экране появится запрос на ввод пароля от keychain. В дальнейшем keychain будет обеспечивать аутентификацию вплоть до перезагрузки системы.
В файле можно указать столько ключей, сколько вы собираетесь использовать:

keychain iddsa apachekey ftpkey

Для каждого ключа при входе в систему необходимо ввести пароль. Программа keychain будет обеспечивать аутентификацию в течение всего времени работы системы, даже при выходе и повторном входе пользователя в систему. После перезапуска системы пароли придется ввести заново.

Предыдущие части.

Часть 1. Введение.
Часть 2. Настройка.
Часть 3. Построение новых ключей хостов
Часть 4. Использование нескольких пар ключей

Ярлыки: , , ,


| запостил: banderlog, 10:41 | Ссылка на статью | Комментариев (2) |

AddThis Social Bookmark Button

Коментариев: 2 штук(и)


привет. я сегодня сделала себе тут дневник. это все не похоже на другие жж и онлайновые даяри), можешь мне чуточку подсказать как тут все устроено. особенно меня интересуют коменты. я так поняла тут это не главное. тут люди просто пишут мысли, а не общаются да? спасибо!!!
откоментировал: Blogger lapoo, 17 июля 2007 г., 3:45  

В принципе, данная площадка для ведения блогов ни чем практически не отличается от других. Те же принципы. Ты высказываешь свои мысли или пишешь статьи на разные темы. Народ заходит, читает, комментирует. Блог - это не чат, где происходит общение. Блог может превратиться в чат только в том случае, когда народу понравилась твоя статья и он ее начинает комментировать. И в комментах уже происходит своего рода общение. В них, в комментах, народ высказывает уже СВОИ мысли на изложенное тобой. Так что разницы никакой. Пробуй, дерзай, но не дерзи. :) Этого нигде не любят. Успеха тебе.
откоментировал: Anonymous автор, 17 июля 2007 г., 9:57  


<< На главную... | << Добавить комментарий