LINUX.ORG.RU

ssh не входит по ключу

 ,


0

1

не могу найти, что мешает войти по ключу

valentin@bel02:~$ ssh -v valentin@10.0.2.103
OpenSSH_8.9p1 Ubuntu-3ubuntu0.13, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /home/valentin/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 10.0.2.103 [10.0.2.103] port 22.
debug1: Connection established.
debug1: identity file /home/valentin/.ssh/id_rsa type 0
debug1: identity file /home/valentin/.ssh/id_rsa-cert type -1
debug1: identity file /home/valentin/.ssh/id_ecdsa type -1
debug1: identity file /home/valentin/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/valentin/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/valentin/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/valentin/.ssh/id_ed25519 type -1
debug1: identity file /home/valentin/.ssh/id_ed25519-cert type -1
debug1: identity file /home/valentin/.ssh/id_ed25519_sk type -1
debug1: identity file /home/valentin/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/valentin/.ssh/id_xmss type -1
debug1: identity file /home/valentin/.ssh/id_xmss-cert type -1
debug1: identity file /home/valentin/.ssh/id_dsa type -1
debug1: identity file /home/valentin/.ssh/id_dsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.13
debug1: Remote protocol version 2.0, remote software version OpenSSH_9.6p1 Ubuntu-3ubuntu13.11
debug1: compat_banner: match: OpenSSH_9.6p1 Ubuntu-3ubuntu13.11 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 10.0.2.103:22 as 'valentin'
debug1: load_hostkeys: fopen /home/valentin/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:emLRZvLhXrrnSMWGMS/5eTgV8aUODlW5petNODQJtgk
debug1: load_hostkeys: fopen /home/valentin/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '10.0.2.103' is known and matches the ECDSA host key.
debug1: Found key in /home/valentin/.ssh/known_hosts:3
debug1: ssh_packet_send2_wrapped: resetting send seqnr 3
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: ssh_packet_read_poll2: resetting read seqnr 3
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /home/valentin/.ssh/id_rsa RSA SHA256:x2m1vaFO24i5LdVcU2O603mlMN4v5RMRaP6TffrB6Bk
debug1: Will attempt key: /home/valentin/.ssh/id_ecdsa 
debug1: Will attempt key: /home/valentin/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /home/valentin/.ssh/id_ed25519 
debug1: Will attempt key: /home/valentin/.ssh/id_ed25519_sk 
debug1: Will attempt key: /home/valentin/.ssh/id_xmss 
debug1: Will attempt key: /home/valentin/.ssh/id_dsa 
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256>
debug1: kex_input_ext_info: publickey-hostbound@openssh.com=<0>
debug1: kex_input_ext_info: ping@openssh.com (unrecognised)
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/valentin/.ssh/id_rsa RSA SHA256:x2m1vaFO24i5LdVcU2O603mlMN4v5RMRaP6TffrB6Bk
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/valentin/.ssh/id_ecdsa
debug1: Trying private key: /home/valentin/.ssh/id_ecdsa_sk
debug1: Trying private key: /home/valentin/.ssh/id_ed25519
debug1: Trying private key: /home/valentin/.ssh/id_ed25519_sk
debug1: Trying private key: /home/valentin/.ssh/id_xmss
debug1: Trying private key: /home/valentin/.ssh/id_dsa
debug1: Next authentication method: password
valentin@10.0.2.103's password: 

server выдает: 2025-06-18T17:47:52.472777+03:00 bel03 sshd[10253]: Authentication refused: bad ownership or modes for directory /home/valentin
однако у клиента:
drwx—— 2 valentin valentin 4096 июн 18 16:40 .

Ответ на: комментарий от vbr
rwx------   2 valentin valentin  4096 июн 18 16:40 .
drwxrwxrwx 130 valentin valentin 12288 июн 18 18:52 ..
-rw-------   1 valentin valentin   784 июн 18 17:29 authorized_keys
-rw-------   1 valentin valentin  1679 июн 18 16:37 id_rsa
-rw-------   1 valentin valentin   392 июн 18 16:36 id_rsa.pub
-rw-------   1 valentin valentin   978 июн 18 16:40 known_hosts
-rw-------   1 valentin valentin   142 июн 18 16:31 known_hosts.old  

valentin630
() автор топика
Последнее исправление: valentin630 (всего исправлений: 2)
Ответ на: комментарий от valentin630

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

рассказываем ли мы об этом на форумах?

aol ★★★★★
()
Ответ на: комментарий от valentin630

Но не затруднит ли Вас объяснить смысл этой магии?

Каждый объект в файловой системе принадлежит какому-либо пользователю и группе. Кроме того, у каждого объекта есть права доступа. Они определяют доступность объекта для владельца, группы и всех остальных. Если упрощать (подробнее можно поискать в сети, но, имхо, тема очень хорошо раскрыта в FreeBSD Handbook), то для директорий это:

  • Право просматривать содержимое директории (read-бит).
  • Право вносить изменения в директорию, то есть создавать или удалять различные объекты (write-бит).
  • Право на вход в директорию, то есть право обращаться к её содержимому (execute-бит).

Директория /home обычно содержит домашние директории пользователей, в то время как сама принадлежит root-пользователю. Только root имеет права на запись в эту директорию. Остальные пользователи могут видеть её содержимое, и заходить в неё, но не имеют прав записи.
Пользователю может принадлежать домашняя директория. Владеет этой директорией сам пользователь, и только он может просматривать её содержимое, вносить новые записи, и заходить в неё.
Как и для всего остального, это определяется выставленными правами владения и доступа к этим директориям.

По умолчанию, если в конфигурационном файле /etc/ssh/sshd_config не указано иное (опция StrictModes=no подробнее man sshd_config), демон sshd при запуске проверяет корректность прав владения и доступа для путей к своим конфигурационным файлам, в том числе к файлу /home/<user_name>/.ssh/authorized_keys. И, если что-то покажется ему неправильным, просто отказывается запускаться.

В своём предыдущем посте Вы опубликовали, вероятно, вывод команды ls -al ~/.ssh, для своего пользователя на сервере. Из этого вывода видно, что права владения и доступа верно выставлены для директории /home/valentin/.ssh, но вот права доступа для самой домашней директории неправильны. У Вас это были rwxrwxrwx, что означало, что любой пользователь в системе, может спокойно заходить в Вашу домашнюю директорию и творить в ней всё, что заблагорассудится. Вследствие этого, sshd отказывался запускаться, так как такая ситуация казалась ему опасной. Прав владения и доступа на директорию /home не были видны, однако можно было предположить возможность и их некорректной установки.

Теперь о «магии».

  • Команда chown root:root /home выполняемая от имени root-пользователя, изменяла права владения для директории /home на пользователя root и группу root.
  • Команда chmod 0755 /home, так же выполняемая от имени root-пользователя выставляла права доступа для этой директории в rwxr-xr-x.
  • И, наконец, команда chmod 0700 /home/valentin которую можно было выполнить и от имени владельца, выставляла права rwx------ для домашней директории Вашего пользователя.
QsUPt7S ★★★
()
Ответ на: комментарий от QsUPt7S

Во-первых, большое спасибо за человечность, которой часто не хватает породе сисадминов, наверное, из-за обостренного чувства, что они все-таки обслуга, а не творцы.

У Вас это были rwxrwxrwx

Я как пользователь более 30 лет рабтаю в unix’e и linuх’e, поэтому знаком с азами. Мне по большом счету непонятно, какое дело sshd до того, кому я разрешаю копаться в своей директории. В какой момент появились такие права, мне самому непонятно, но ПК абсолютно личный в абсолютно личной сети, поэтому для меня это совсем нестрашно.

valentin630
() автор топика
Ответ на: комментарий от valentin630

какое дело sshd до того, кому я разрешаю копаться в своей директории

Это попытка защитить пользователя от защемления яиц дверью. Если выставлены 777 права на $HOME, это значит, что кто угодно может удалить ~/.ssh, создать новый и добавить туда свои ключи, после чего зайти под этим пользователем. То бишь это такая дыра в системе. И вот sshd пытается как-то бороться с этой дырой. Если сильно хочется - есть опция для отключения этой борьбы. Я сам считаю, что такой функционал избыточен, юникс должен быть опасный и резкий, как удар бритвы. Но я не пишу sshd, может это и к лучшему.

В какой момент появились такие права, мне самому непонятно

Или потеря памяти, или в системе вирус.

vbr ★★★★★
()