LINUX.ORG.RU
ФорумAdmin

[SSH] Не могу поднять.

 


0

0

Выходит следующее сообщение:

>$ /usr/sbin/sshd -f ~/.ssh/config
>Could not load host key: ~/.ssh/rsa_host_key
>Disabling protocol version 2. Could not load host key
>sshd: no hostkeys available -- exiting.

Разумеется файл ~/.ssh/rsa_host_key существует. Пробовал генерировать его заново - безрезультатно. Дистрибутив gentoo.

anonymous

>$ /usr/sbin/sshd -f ~/.ssh/config

Из "man sshd":

-f configuration_file
Specifies the name of the configuration file. The default is /etc/ssh/sshd_config. sshd
refuses to start if there is no configuration file.

Из "man ssh_config":

NAME
ssh_config - OpenSSH SSH client configuration files

SYNOPSIS
~/.ssh/config
/etc/ssh/ssh_config

Я это к тому, что не стоит пытаться запускать сервер ssh с конфигом от клиента ssh

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

Исправился. Теперь имею следующее:

># /usr/sbin/sshd -d -f ~/.ssh/sshd_config

>debug1: sshd version OpenSSH_5.1p1

>debug1: read PEM private key done: type RSA

>debug1: private host key: #0 type 1 RSA

>debug1: rexec_argv[0]='/usr/sbin/sshd'

>debug1: rexec_argv[1]='-d'

>debug1: rexec_argv[2]='-f'

>debug1: rexec_argv[3]='~/.ssh/sshd_config'

>debug1: Bind to port 22 on 0.0.0.0.

>Server listening on 0.0.0.0 port 22.

>socket: Address family not supported by protocol

>debug1: Server will not fork when running in debugging mode.

>debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7

>debug1: inetd sockets after dupping: 3, 3

>Connection from 213.87.81.128 port 55044

>debug1: Client protocol version 2.0; client software version >SSH/MidpSSH

>debug1: no match: SSH/MidpSSH

>debug1: Enabling compatibility mode for protocol 2.0

>debug1: Local version string SSH-2.0-OpenSSH_5.1

>debug1: permanently_set_uid: 22/22

>debug1: list_hostkey_types: ssh-rsa

>debug1: SSH2_MSG_KEXINIT sent

>debug1: SSH2_MSG_KEXINIT received

>debug1: kex: client->server 3des-cbc hmac-sha1 none

>debug1: kex: server->client 3des-cbc hmac-sha1 none

>no hostkey alg

>debug1: do_cleanup

>debug1: do_cleanup


Мобильник с которого пытаюсь соединиться пишет:

>Connecting to мой_ип...OK

>Nesotiations


И потом выдает статистику сколько байт отправлено, сколько получено.

Файл ~/.ssh/sshd_config

>Protocol 2

>PermitRootLogin no

>HostKey ~/.ssh/id_rsa

>Banner ~/.ssh/welcome

>AllowUsers имя_моей_учетной_записи

>AllowGroups users

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

Хммм... А какие права у учетки, из-под которой все это делается? По идее, не-root создать сокет на порту ниже 1024-го (в т. ч. на 22-м) не может из соображений безопасности, но тут сокет вроде бы создается. Плюс, в отладочном выводе смущают строки

>socket: Address family not supported by protocol

>debug1: no match: SSH/MidpSSH

>no hostkey alg


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

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

Поковырялся в настройках. Ошибка с сокетом пропала.

># /usr/sbin/sshd -d -f ~/.ssh/sshd_config

>debug1: sshd version OpenSSH_5.1p1

>debug1: read PEM private key done: type RSA

>debug1: private host key: #0 type 1 RSA

>debug1: rexec_argv[0]='/usr/sbin/sshd'

>debug1: rexec_argv[1]='-d'

>debug1: rexec_argv[2]='-f'

>debug1: rexec_argv[3]='~/.ssh/sshd_config'

>debug1: Bind to port 22 on мой_ип.

>Server listening on мой_ип port 22.

>debug1: Server will not fork when running in debugging mode.

>debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7

>debug1: inetd sockets after dupping: 3, 3

>Connection from 213.87.81.190 {телефон} port 34570

>debug1: Client protocol version 2.0; client software version >SSH/MidpSSH

>debug1: no match: SSH/MidpSSH

>debug1: Enabling compatibility mode for protocol 2.0

>debug1: Local version string SSH-2.0-OpenSSH_5.1

>debug1: permanently_set_uid: 22/22

>debug1: list_hostkey_types: ssh-rsa

>debug1: SSH2_MSG_KEXINIT sent

>debug1: SSH2_MSG_KEXINIT received

>debug1: kex: client->server 3des-cbc hmac-sha1 none

>debug1: kex: server->client 3des-cbc hmac-sha1 none

>no hostkey alg

>debug1: do_cleanup

>debug1: do_cleanup


Файл ~/.ssh/sshd_config теперь выглядит так:

>Protocol 2

>ListenAddress мой_ип

>PermitRootLogin no

>HostKey ~/.ssh/id_rsa

>Banner ~/.ssh/welcome

>AllowUsers eagle

>AllowGroups users

>LoginGraceTime 600

>PasswordAuthentication yes

>PermitEmptyPasswords no

>PrintLastLog yes


Телефон пишет то же самое. Кстати у компа и телефона разные ключи. По идее телефон должен логиниться с ключем имя_ключа.pub. Он же пытается залогиниться с каким-то другим ключем, который сам сгенерировал. Ф-цию импорта ключа в программе MidpSSH я не нашел. Какие есть идеи?

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

> По идее телефон должен логиниться с ключем имя_ключа.pub. Он же пытается залогиниться с каким-то другим ключем, который сам сгенерировал.

Правильно. Телефон (точнее, ssh-клиент на нем) сгенерировал пару ключей — публичный и секретный. Следующий этап — добавить публичный ключ на сервер к ~/.ssh/authorized_keys (либо к файлу, указанному в AuthorizedKeysFile в sshd_config), после чего с телефона соединяться.

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

Я тоже так думал. Да вот только не понятно куда телефон протоколы сохраняет. В директории с программой я никаких протоколов не нашел. А есть ли способ без сертификатов подключиться? По обычно му логину с паролем?

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

> А есть ли способ без сертификатов подключиться? По обычно му логину с паролем?

Есть. "PasswordAuthentication yes" в sshd_config как раз его разрешает. И он должен работать, клиент его поддерживает (а почему бы ему не поддерживать? Кстати, ssh -v localhost на компьютере при запущенном sshd что говорит?).

dexpl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.