Пользователь с правами на выключение системы и доступом по ssh

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Суть задачи: есть cmd файл, который запускается агентом ИБП на виндовозной машине при отключении питания, который с помощью putty инициирует завершение работы в том числе фринаса. Не нравится мне в этом деле то, что логин-пароль хранится в открытом виде в батнике. Хочется что бы был пользователь с урезанными правами на вход по ssh и выполнение команды shutdown.
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
sudo установлен. Т.е. можно посредством visudo добавить в конфигурацию пользователя и разрешённую команду. Ну или добавить файлик в /etc/local/sudoers.d
Как это будет работать после обновления - не знаю.

А что касается пароля - сделайте вход ssh по ключу.
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
А можно через веб-морду добавить пользователя и запихнуть его в нужную группу из числа встроенных? Тогда бы и при обновления всё сохранялось.
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
А можно через веб-морду добавить пользователя и запихнуть его в нужную группу из числа встроенных? Тогда бы и при обновления всё сохранялось.

Ну IMHO группа operator имеет права на выключение. Но пароль-то всё равно виден в батнике. Тогда уж делать по ключевому файлу (есть поле в GUI куда можно для пользователя воткнуть ключ).
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Ну IMHO группа operator имеет права на выключение. Но пароль-то всё равно виден в батнике. Тогда уж делать по ключевому файлу (есть поле в GUI куда можно для пользователя воткнуть ключ).
Да, виден, но он хотя бы не рутовый. Спасибо, с ключом попробую.
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Пытаюсь сохранить открытый ключ для юзера через GUI, просит задать домашний каталог пользователя, указываю каталог - он пишет "Путь должен находиться в пределах точки монтирования тома". По умолчанию стоит "/nonexistent", что нужно вместо этого написать?
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Ну где у вас смонтирован том ?

upload_2018-1-9_16-3-17.png


У меня, например, это будет /mnt/BIG/home/<имя юзверя> ну или /mnt/BIG/<имя юзверя> - как Вам больше нравится.
А home директория необходима, чтобы хранить настройки пользователя. В том числе и ssh ключи.
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Не получается пока залогиниться ключом: Server refused our key и просит ввести пароль
батник:
@echo off
@START "" "C:\Program Files\PuTTY\putty.exe" -m main-power-down.txt -ssh -P 22 -l user1 -i key.ppk "server IP"
@echo on

main-power-down.txt - в файле команда завершения работы
key.ppk - приватный ключ, а в настройках user1 открытый ключ
Ключ RSA 2048 bit
Есть идеи почему ключ отклонён?
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Ну раз "Server refused our key" то сходить на сервер и посмотреть в /var/log/auth.log
Вообще, для начала попробовать залогинится в самом putty (кстати - putty должен быть не очень старым, старые методы уже не поддерживаются). Может сообщение об ошибке будет более внятное.

Ну и небольшая статья про генерацию ключа - https://linux-freebsd.ru/linux/system/avtorizatsiya-po-klyucham-v-putty-ssh/

P.S. И ещё https://wiki.vps-server.ru/doku.php/wiki:technical:soft:ssh_keys
Code:
где значение публичного ключа public_key_text – мы скопировали из поля «Public key for pasting into OpenSSH authorized_keys file».


т.е. в GUI надо копировать текст из этого поля
 
Last edited:

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Путти по логин / паролю работает, ключ скопирован правильно.
Putty Release 0.70
Code:
Jan 10 08:59:20 freenas sshd[51086]: Authentication refused: bad ownership or modes for directory /mnt/Backup/user1				 
Jan 10 08:59:38 freenas sshd[51086]: Connection closed by authenticating user user1 "server IP" port 57950 [preauth]			 

Как я понимаю, что не так с правами на домашнюю директорию. Какие они должны быть?
1122339.png
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Права на домашнюю директорию для пользователя user1 группы operator
drwxr-xr-x user1 operator

Т.е. Владелец - user1 права rwx
Группа - operator права r-x
Все остальные права r-x

И тип прав Unix
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Всё получилось, спасибо.
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Сломалась выключалка.
Путтю обновил, ключи пересоздал - не помогло
В путти: Server refused our key
auth.log: Mar 28 09:31:49 freenas sshd[3092]: Connection closed by authenticating user oper1 "мой IP" port 60218 [preauth]

Может доп. параметр какой нужен в настройках службы SSH?
 
Last edited:

chs

Guru
Joined
Apr 18, 2017
Messages
500
Ну сообщение, что ключ не нравится.

Вернулись к посту №9 от 10 января 2018 этого треда.
Если может заходить по имени и паролю, значит всё дело в ключе (ну или в правах доступа к нему)
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
Залогинился по паролю, в консоли сообщение:
Could not chdir to home directory /mnt/Backup/oper1: Permission denied
в ГУИ:
freenas sshd[77829]: _secure_path: cannot stat /mnt/Backup/oper1/.login_conf: Permission denied
asfdfasd.png
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Ну тогда покажите вывод в консоли -
Code:
ls -la /mnt/Backup/oper1
ls -la /mnt/Backup/oper1/.login_conf 

и
Code:
id oper1
 
Last edited:

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
root@freenas:~ # ls -la /mnt/Backup/oper1/.login_conf ls: /mnt/Backup/oper1/.login_conf: No such file or directory
root@freenas:~ # ls -la /mnt/Backup/oper1 total 16 drwxr-xr-x+ 3 oper1 operator 3 Mar 28 10:58 . drwxrwx---+ 5 "доменная учётка" "доменная учётка" 5 Mar 28 10:31 .. drwxrwx---+ 2 oper1 operator 3 Mar 29 08:43 .ssh
ID 1000
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
У Вас прописались ACL на директорию (видите плюсики?)
Что показывает -
Code:
getfacl /mnt/Backup/oper1 

?
Связано, скорее всего, с включением в домен.
 

Mihalich

Patron
Joined
Mar 14, 2017
Messages
297
root@freenas:~ # getfacl /mnt/Backup/oper1 # file: /mnt/Backup/oper1 # owner: oper1 # group: operator owner@:rwxpDdaARWcCo-:fdi---I:allow group@:rwxpDdaARWcCo-:fdi---I:allow owner@:rwxp--aARWcCos:-------:allow group@:r-x---a-R-c--s:-------:allow everyone@:r-x---a-R-c--s:-------:allow
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Надо очистить ACL атрибуты на эту директорию и оставить только Unix права.

Ну а если они нужны - то "поиграться" с ними.
 
Top