как настроить SSH с ключем?

Golosalex

Cadet
Joined
Sep 9, 2023
Messages
7
прошу меня простить за беспокойство. я честно пытался разобраться и пробовал разные руководства, но trunas отвергает мой ключ что бы я не делал

в свою последнюю попытку я по шагам я повторял этот туториал:
туториал
я честно сгенерировал пару открытый - закрытый ключ
создал пользователя для экспериментов с именем alex_ssh
в его настройках я добавил открытый ключ, скопировав из сохраннего файла
потом попробовал запустить winscp.
туда нельзя просто скормить текстовый файл, потому я по инструкции через файл с закрытым ключем перегенерировал ключ в формате putty.
через putty gen.
ввел адрес, ввел порт и имя пользователя. потом добавил приватный ключ и попробовал зайти. сервер меня не пустил.
вход по паролю работает, так что дело может быть только в ключе, как я предполагаю.

PuTTY-User-Key-File-3: ssh-rsa
Encryption: none
Comment: root@truenas.local
Public-Lines: 9
AAAAB3NzaC1yc2EAAAADAQABAAABgQDGm+A1cAdlClMndZRmYzByyDvRibjGAY1Y
W3btBP+wJp0To+uEceDI+mrdtsnxF2HZit106FcDdzDnZqynSgVezmIWDczfcW5D
Tabf/KQx2tgyyK3mvOtw9+PEtVHkWCWIZnSldZ0zKgjfDggIWd2AA4dtp81/URWF
nOaa4cWeKe5hL4zn18feBwQF96yXkQmkB55s40ULXFvxpa/RXEJyNaTsymseXIvl
1t3UDtqkyuz8JiTt7y6hfUbO+zkmXL3yzfcBxEad7QMQPLb1+3yzB06dXqh15udG
yEfqzGzhrT9rCT21osWdPE4mO9AvKIA2z4CVn1bNGgvqgK74jVX/jAl+rNbIMdVU
sbU6pbVm4WKprwHqxcRA4zG8X+vP59bq0tLiGc6o1kff5lAygDr5jFNQ+cMGeqbY
ZusKnzVFu4nrhR5tQxdiIHFgmQ90HT5/PkBUysHbUJPdMyD6AiZjuuVFaSsKmpsQ
9JQdnAeOOrRxQ70F6WfAQLXe1UAYVbE=
Private-Lines: 21
AAABgC3WCZ+rlDlQcbJ4o2Ah4iuLZKrOQxOHhixvJ3o6Hhx0POoseY1ejscza/hx
WBfJEq8XKlbxzCsjlejBvHT7U1P3A5IdazviPNVRlYK6Ftber+jAgcnvrdKrkyhx
xE2Tvk3Ff4Q0KayGNffskBQFUWZa6iV3haiteO8WL+5szqPa/4X0aGuVVC48pkQO
TgnI0lXF4F028ldV4G5bk8EYrskW8lInwSMHrs3Dkfx/1RwVLS5gS0OSYMuqUu4v
8peU7WWAFLzZ3c5z7MDU2XyGlZby8SsuLTJQDjZSpz7tkNI2wA4xSWBuMT9rEA/t
gqP6aBt+PicL82TdgkGtePreovAL88yz3lEf66/up4kNFfhJpUVHLQ6MUd5JV41M
CI25XQMh0i8i1Y7n43C0UX5rNB7XFoSW4n5CYQsvYdW4p5dYAZw8ibF4GH8byhol
VDOQTiO+mXAa4OLR1L0GFW6B9G9155ROuMbiJKPEdxyWRbqCccvVMPX7mLDoQExv
isXJNQAAAMEA50g81x/+8gDymkQ5vxFR+z6INhwDUcHewTs7VVf/NyJ1ZCmksbBc
gPxMvRKPDI092K+o1ms7d7jCBzAEmswdLHrPUp25vQ2YQFdkHs1Z68+Z36SgvNiN
otDPA+TaX1yb9NXcNGQJ5Xo3URTrFmVPstuFlyetpj8nMqTHNsbCStgj3HsBkB+Z
/jsutRiTvbXlhgnvdKECYIvvjVQy/nsHubwHe3ca5qNRf8E6SgKbQmj36klVbwJw
2WbLQ/HA+wlfAAAAwQDb1bayrfvw4bPME/iP5DlZe47vn8wc1BpfLtCJ7oANFyHA
2KpedJuffGv919DO+efm5PbrQlnGdjTlo3RZzPi7ho7oWGJWTeD5B3DqwBXtUuvt
l/2X/jvE/0eCpbkkjJsStreHoIg5fi5NlzffPukkjFKl8XH9jucnsGsiJu2OLoyY
Im+hRrrCUZkGiZmsNLYL7bL7Rcbl6X8T/bFT+Xy2cnNkDFjcETm58FPVgWIgp/Eg
nLmOqrtQp33UUepvKu8AAADBAL/CfZ/2QEr+wRvMb4Ni9qhLhBbE5q8wsReW29KD
BohQQ9z2iNL7s9RTlDhPqmWgwJzdZ15iTcWCbV93G70ZymIhWdWLlIZ5NPV0X8kR
3Z+JdWxm+avtQfx+pR1vEGpw2AWUyB6vbHPGNAnMtNthtqtIVJUmrASkg38gfqd7
FOA9626egeAf13kWd1FtoruRAcoPxoiG8uPUqgS+UIlfb6va5RliveTwuD5cQBWp
J1EvXAax+horF3xRH8gBy6UmNA==
Private-MAC: 1af982af7fd65bb766fa3818b22a20e5e20eecbbd6a5c001f6ae5e5a694f8c23
вот приватный ключ. я вставлял файл с этим содержимым и именем mainSSH_public_key_rsa.txt
а ниже публичный

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGm+A1cAdlClMndZRmYzByyDvRibjGAY1YW3btBP+wJp0To+uEceDI+mrdtsnxF2HZit106FcDdzDnZqynSgVezmIWDczfcW5DTabf/KQx2tgyyK3mvOtw9+PEtVHkWCWIZnSldZ0zKgjfDggIWd2AA4dtp81/URWFnOaa4cWeKe5hL4zn18feBwQF96yXkQmkB55s40ULXFvxpa/RXEJyNaTsymseXIvl1t3UDtqkyuz8JiTt7y6hfUbO+zkmXL3yzfcBxEad7QMQPLb1+3yzB06dXqh15udGyEfqzGzhrT9rCT21osWdPE4mO9AvKIA2z4CVn1bNGgvqgK74jVX/jAl+rNbIMdVUsbU6pbVm4WKprwHqxcRA4zG8X+vP59bq0tLiGc6o1kff5lAygDr5jFNQ+cMGeqbYZusKnzVFu4nrhR5tQxdiIHFgmQ90HT5/PkBUysHbUJPdMyD6AiZjuuVFaSsKmpsQ9JQdnAeOOrRxQ70F6WfAQLXe1UAYVbE= root@truenas.local
пока я выхожу в ssh по локальной сети мне хватает и пароля, но хотелось бы разобраться что делаю не так. пожалуйста, растолкуйте мне где я накосячил.
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
в свою последнюю попытку я по шагам я повторял этот туториал:
туториал

Лучше мануалы читать, а не видосики смотреть :frown:

По шагам -
1. Генерируем ssh key-pair (причём неважно где в TrueNAS или средствами ssh)
2. В TrueNAS создаём пользователя. ВАЖНО у него должна быть home директория. Пользователю копируем Public Key
1694422923764.png

3. Проверяем, что ключ поместился в нужное место -
1694423060658.png


Важно - пермишены должны быть 600 и пользователь файла был нужные Вам юзер.

4. Если необходимо связываться с Putty (в винде и линуксах есть стандартный ssh-клиент) - необходимо преобразовать Private Key из ssh формата в формат putty при помощи puttygen
1694423290709.png


Загружаете приватный ключ и жмёте "Save private key" получается файл с расширением ppk.
Winscp никогда не пользовался, но в putty это выглядит так -
1694423800232.png


1694423881244.png


Проверьте, если у Вас с putty всё получилось, надо разбираться с Winscp.
 

Golosalex

Cadet
Joined
Sep 9, 2023
Messages
7
3. Проверяем, что ключ поместился в нужное место -
видимо не поместился, та как эта папка пустая
вот так выглядит окно пользователя:
скрин нас.jpg

что значит пермишин в 600?

благодарю за ответ, не было времени чтобы заняться делом, потому прошу простить, что долго не отвечал.
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
3. Проверяем, что ключ поместился в нужное место -
видимо не поместился, та как эта папка пустая

А что выдаёт команда
Code:
ls -la /mnt/Zacroma/DataSetExperiment/alex_ssh


Должно получиться что-то вида -

1695708886009.png


У меня картинка выглядит так -
1695709520283.png


Отличие только в Samba Authetification

что значит пермишин в 600?

Это права чтение/запись только для текущего пользователя - rw-------
А директория $HOME/.ssh должна быть с правами 700 ( rwx------ как на картинке).


Благодарю за ответ, не было времени чтобы заняться делом, потому прошу простить, что долго не отвечал.

Это же Вам надо, не мне.
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
вроде бы что-то похожее выдает, но если открыть папку через winscp то там пусто.

Ну норм. Скорее всего он не показывает файлы начинающиеся с точки.

Теперь вывод команды
Code:
ls -la /mnt/Zacroma/DataSetExperiment/alex_ssh/.ssh
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Ну всё отлично - ключики прописаны. Попробуйте зайти по putty с ключом.
 

Golosalex

Cadet
Joined
Sep 9, 2023
Messages
7
Ну всё отлично - ключики прописаны. Попробуйте зайти по putty с ключом
не пустило
552Screenshot_1.jpg

я подозреваю, что как - то неправильно вставил публичный ключ. можете ли вы привести корректное содержание? а то я вижу там какие-то заголовки и почтовый адрес... как точно дословно должен выглядеть текст, который надо вставить?
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
не пустило

Тут советую посмотреть в /var/log/auth.log - чего вдруг сервер refused key

я подозреваю, что как - то неправильно вставил публичный ключ. можете ли вы привести корректное содержание? а то я вижу там какие-то заголовки и почтовый адрес... как точно дословно должен выглядеть текст, который надо вставить?

Текст - base64 (на конце '='), а email в конце - это просто комментарий.

Давай те по шагам -
1. Формируем пару ключей. Для чего идём в web-интерфейсе System->SSH Keypairs, Add и Generate KeyPair (специально прокрутил ключики до конца - чтоб было видно. В конце публичного ключа "root@truenas.local" - это комментарий, мы его ещё увидим)
1696227224378.png


2. Создаём юзверя - Accounts->Users->Add
Обращаем внимание на home dir и копируем ключ (полностью c ssh-rsa и E-mail).

1696227625968.png


Проверяем что ключ сохранился в домашней директории (и права как в предыдущем посте)

1696227777387.png


Ключ - один в один public key Из генерации пар ключей.

Я так понимаю, что у Вас Windows. Тогда проверяем там.
Убеждаемся, что служба ssh-agent запущена (если нет - запускаем)
Сохраняем наш приватный ключ в директории .ssh пользователя (Например C:\Users\sshuser\.ssh) скажем с именем truenas
Заносим ключ в список приватных ключей (запускаем от имени пользователя sshuser)
Code:
ssh-add.exe C:\Users\sshuser\.ssh\truenas

И пробуем подключиться
1696230133663.png



Теперь puttygen. загружаете private key. Можно убедиться, что public key в окне puttygen идентичен нашему public ключу.

1696229619811.png


Ну и в putty -
1694423800232-png.70156


1696230384149.png
 
Top