|
Search Wiki PageName Search Пані Маєш: <<Уроки>>
Тут зібрана різноманітна інформація з тих областей, які мене цікавлять. В основному це буде так чи інакше пов'язане моєю роботою (я все ще працюю системним адміністратором Юнікса) чи загальними інтересами, як то українська мова, література. Або ж з місцями мого перебування -- Київ, Токіо.
Але немає ґарантії, що тут не з'явиться іще щось цікавеньке (як на мою особисту думку).
Last blog posts Зареєструватись |
Деякі нотатки по вживанню ключів у OpenSSH
Завдяки парам ключів (приватний ключ/відкритий ключ) SSH може виконувати команди на віддалених машинах без паролю. Зрозуміло, що в такому випадку вся секретність/безпечність SSH відпадає — якщо я можу виконувати будь-яку команду з цього комп'ютера он на тому комп'ютері, так само зможе її виконати і будь-хто, хто матиме доступ ось до цього комп'ютера. І якщо не накласти певні обмеження на те, які команди можуть виконуватися, такий режим стає серйозною діркою. Звичайно можна захистити ключ паролем, але це підходить тільки тоді, коли ми працюємо в командному рядку і використовуємо при цьому ssh-agent. Але що робити, коли потрібно виконувати команду на віддаленій машині в автоматизованому режимі: з cron'а наприклад. Відкривати повністю доступ до віддаленої машини?Ні. Ключі можна певним чином настроїти так, що вони дозволять виконання тільки певних команд і(або) тільки з певних машин. Ось про це далі і йдеться. Для того, щоб виконувати команди за допомогою SSH без потреби друкувати кожного разу пароль можна скористатися парою з привантного та відкритого ключів. Для того, щоб створити такі ключі використовується команда ssh-keygen :Створення пари ключів
Для виконання команд в автоматичному режимі потрібно мати окрему пару ключів на кожну виконувану команду. Ось чому краще вказувати назву файла в командному рядку при створенні ключів параметром -f .Після виконання команди ssh-keygen Ви будете мати два файли: filename і filename.pub (або id_dsa і id_dsa.pub при використанні стандартних імен.Встановлення відкритих ключів на віддаленому серверіДля того, щоб мати можливість виконувати команди на віддаленій машині, Вам потрібно встановити відкриті половини ключів там. Приватна частина ключів повинна залишатися приватною, доступ до неї має бути тільки у Вас.Щоб ключ розпізнавався процесом ssh, він повинен знаходитися у файлі ~/.ssh/authorized_keys2. Цей файл може мати кілька ключів. Ключі просто йдуть один за одним в файлі (команда cat >> допоможе в цьому випадку). Команда, показана далі, допоможе встановити ключі на віддаленій машині і встановити потрібні дозволи на теку ~/.ssh. Якщо дозволи не цю теку і файли в ній не такі, як потрібно, дуже ймовірно, що ssh не буде працювати, так як хочеться.
Ключі у файлі
|
Початковий вигляд ключа ssh-dss AAAAB3NzaC1kc3MAAACBALtbYF/Hzpe6buZTDbW2xsAXZJ0EQlJe6hlatW6xJ8zbcZ1qnaom
hrCIDzmlIegdfGHCaIuG9zRgcyq9YrIMSgJenSbdOZSYCaf4FKm6BnN+7dmweng7e5/gClF0Q82x8QOT
NuTNP/+0HZd301IR21L2n7nY/98k9viNZjogyVbNAAAAFQCH/cImMhhyNLi2IAS+tMbtgYwqKQAAAIBw
pXmINNDmcgAGGeHaQLS6sLxQnkAB+9KMVnNXgJ2zhIrcQNxDourwrPwQhM4J6Y/fwFoE0XPNceHSxKQP
cP+uvJPwEmwj6ypj9BwIpR765GbL5qzgZnHbmmOqKOybG09P34PXOikjhlakdsjfhiu[,KKkLlkj9878
9&KJljkhghgAAIA7dGPD/fUy7bUY26Xxx1KB+zIz9Y+YxRDC+CvUiPEhYD2LciEkWWg4EHX1lpEvzl0v
7EBEoFxDPEEmsmGRwXBKta/I/+uAuuuFuwjx4910al13AOjEbwSKg86fLI7PPHx6ZinlaJU3kljhasdf
oiuy<MNBjklhg100zFxxDYr7IQ== root@remote
|
Ключ з доданими коментарями і параметрами command #
# This is a comment. Key is generated for bla-bla-bla, by .....
#
command="/bin/uname -a",from="securehost2.domain.com" ssh-dss
AAAAB3NzaC1kc3MAAACBALtbYF/Hzpe6buZTDbW2xsAXZJ0EQlJe6hlatW6xJ8zbcZ1qnaomhrCI
DzmlIegdfGHCaIuG9zRgcyq9YrIMSgJenSbdOZSYCaf4FKm6BnN+7dmweng7e5/gClF0Q82x8QOTNuTN
P/+0HZd301IR21L2n7nY/98k9viNZjogyVbNAAAAFQCH/cImMhhyNLi2IAS+tMbtgYwqKQAAAIBwpXmI
NNDmcgAGGeHaQLS6sLxQnkAB+9KMVnNXgJ2zhIrcQNxDourwrPwQhM4J6Y/fwFoE0XPNceHSxKQPcP+u
vJPwEmwj6ypj9BwIpR765GbL5qzgZnHbmmOqKOybG09P34PXOiKuB9Kj65DYVEI9SL5XdBt1bunoGjJ5
RpyZlgAAAIA7dGPD/fUy7kjlhadslfkym,Yhlm,nblkJHLJhlkjasdhfkjhlkjhkjhIUUUYkzl0v7EBE
oFxDPEEmsmGRwXBKta/I/+uAuuuFuwjx4910al13AOjEbwSKg86fLI7PPHx6ZinlaJU3UNL9Pz0H47et
mxJpxPricdfaaasdfJHkuL== root@remote
|
remotemachine дозволить виконання однієї-єдиної команди /bin/uname -a з машини securehost2 без пароля.|
This is Tiki v1.8.5 (CVS) -Polaris- © 2002–2004 by the Tiki community Created by: dmytro last modification: Wednesday 29 of September, 2004 [06:22:59 UTC] by dmytro | дмитро ковальов |