OpenSSH и chroot

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Storoge
рядовой
Сообщения: 44
Зарегистрирован: 2007-09-19 12:04:14
Откуда: Брянск
Контактная информация:

OpenSSH и chroot

Непрочитанное сообщение Storoge » 2008-06-27 16:02:05

Все делал по статье http://www.opennet.ru/opennews/art.shtml?num=14331
Операционная система - FreeBSD 7.0, SSH-openssh-portable-5.0.p1,1
Если помещаю пользователей в chroot-окружение, нормально вводится логин и пароль, потом сразу же пишет Server unexpectedly closed network connection.
Если не помещать пользователей в chroot, то нормально подключается.
Пользовался Filezilla.
Владельцы chroot-директорий - эти пользователи, права на запись есть.


Содержимое sshd_config:

Код: Выделить всё

#       $OpenBSD: sshd_config,v 1.77 2008/02/08 23:24:07 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

Port 33
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2

# HostKey for protocol version 1
#HostKey /usr/local/etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /usr/local/etc/ssh/ssh_host_rsa_key
#HostKey /usr/local/etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys

# For this to work you will also need host keys in /usr/local/etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# Change to yes to enable built-in password authentication.
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to no to disable PAM authentication
#ChallengeResponseAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# Set this to 'no' to disable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM yes

#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none

# no default banner path
#Banner none

# override default of no subsystems
#Subsystem      sftp    /usr/local/libexec/sftp-server
Subsystem       sftp    internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server

AllowUsers yprozorov fv_Zhigalo mtd_vsivakov lu_asolomnikov

Match user fv_Zhigalo
        ForceCommand internal-sftp
        ChrootDirectory /usr/local/www/apache22/data/fv

Match user mtd_vsivakov
        ForceCommand internal-sftp
        ChrootDirectory /usr/local/www/apache22/data/conf

Match user lu_asolomnikov
        ForceCommand internal-sftp
        ChrootDirectory /usr/local/www/apache22/data/leshoz

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение zingel » 2008-06-27 17:05:31

порт нужно 22 открывать, это первое, второе, нужно коннектится к sshd на localhost, вот так

Код: Выделить всё

ssh -vvv localhost -l user -p 22
потом смотреть, что будет на консоли и сюда дать вывод, кроме этого нужно прописать в конфиг

Код: Выделить всё

UseDNS no
мало того дайте сюда вывод

Код: Выделить всё

vmstat -z | grep socket

P.s. на опеннете ещё долго будете ждать ответа =)

http://www.opennet.ru/openforum/vsluhfo ... 80933.html

p.P.s. Как бы это помягче сказать? Статья которую Вы использовали, несовсем удачная =)
вот ничего - http://wiki.e-shell.org/SSHChrootInFreeBSD
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Storoge
рядовой
Сообщения: 44
Зарегистрирован: 2007-09-19 12:04:14
Откуда: Брянск
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение Storoge » 2008-06-30 11:59:28

Извините за глупый вопрос, но 33 порт я сознательно открыл, по рекомендациям безопасности вместо 22.

Вывод:
ssh -vvv localhost -l mtd_vsivakov -p 33

Код: Выделить всё

OpenSSH_4.5p1 FreeBSD-20061110, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [::1] port 33.
socket: Protocol not supported
debug1: Connecting to localhost [127.0.0.1] port 33.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.0p1 FreeBSD-openssh-portable-5.0.p1,1
debug1: match: OpenSSH_5.0p1 FreeBSD-openssh-portable-5.0.p1,1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110
debug2: fd 4 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-dss,ssh-rsa
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_init: found hmac-md5
debug1: kex: server->client aes128-cbc hmac-md5 none
debug2: mac_init: found hmac-md5
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 128/256
debug2: bits set: 512/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: put_host_port: [127.0.0.1]:33
debug3: put_host_port: [localhost]:33
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug1: checking without port identifier
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug2: no key of type 0 for host [localhost]:33
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts2
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts2
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug2: no key of type 1 for host [localhost]:33
The authenticity of host '[localhost]:33 ([127.0.0.1]:33)' can't be established.
DSA key fingerprint is 36:30:3c:8a:3a:2b:98:4e:35:b6:85:f4:75:fb:d9:ba.
Are you sure you want to continue connecting (yes/no)? yes
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:33' (DSA) to the list of known hosts.
debug2: bits set: 499/1024
debug1: ssh_dss_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
Write failed: Broken pipe

Код: Выделить всё

vmstat -z | grep socket
socket:                   396,    25600,      141,     1549, 16666080,        0
Попробую сделать по предложенной статье. После почтения статьи на опеннете у меня сложилось впечатление, что копировать в chroot ничего не надо, просто любую директорию можно указать. Видимо, это не так. :sorry:

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение zingel » 2008-07-01 11:48:30

надо создавать копии, на то он и chroot, а 22 порт, потому, что это такой маленький баг...
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Storoge
рядовой
Сообщения: 44
Зарегистрирован: 2007-09-19 12:04:14
Откуда: Брянск
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение Storoge » 2008-07-24 18:21:47

Таки настроил я chroot в openssh без всяких scponly и rssh!!!
Основная информация почерпнута отсюда:
http://blogs.techrepublic.com.com/opens ... ticles/590
Делал в основном по первой статье, единственное, у меня ругалось, что /bin/false не существует и не пускало, пока не дал пользователю нормальнуюю оболочку(/bin/sh), а потом все отлично!!! :Yahoo!:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35152
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение Alex Keda » 2008-07-24 18:27:03

статью?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение manefesto » 2008-07-25 8:40:28

прикольно бы было.
я такой яростный шо аж пиздеЦ
Изображение

jrmm
рядовой
Сообщения: 24
Зарегистрирован: 2009-04-17 8:15:55

Re: OpenSSH и chroot

Непрочитанное сообщение jrmm » 2009-04-17 12:55:44

Поскольку исходная статья http://www.lissyara.su/?id=1828 и эта ветка форума мне как-то не сразу помогли, хотел поделиться с новичками рабочей конфигурацией sftp+chroot на 7.0-RELEASE с установленным портом openssh-portable-5.0.p1,1.

/etc/rc.conf:

Код: Выделить всё

[...]
#sshd_enable="YES"
openssh_enable="YES"
[...]
на самом деле они работают одновременно с базовым для семерки SSH-2.0-OpenSSH_4.5p1 (разумеется, на разных портах). но скрипт /usr/local/etc/rc.d/openssh ругается, если включен sshd_enable. поскольку настраивал на машине, стоящей в другом городе, управлял установкой из-под активного базового ssh, но вобщем сразу после установки 5.0 он уже не нужен (однако, при смене сокета не забывайте поправить firewall).

/usr/local/etc/ssh/sshd_config:

Код: Выделить всё

[...]
# override default of no subsystems
#Subsystem      sftp    /usr/local/libexec/sftp-server
Subsystem     sftp   internal-sftp

AllowGroups wheel sftponly

Match group sftponly
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no
  X11Forwarding no
/etc/group:

Код: Выделить всё

%grep sftponly /etc/group
sftponly:*:999:shell
/etc/master.passwd:

Код: Выделить всё

[...]
shell:***:1007:1007::0:0:shell:/home/shell:/bin/csh
[...]
права на каталогах:

Код: Выделить всё

%ll /home | grep shell
drwxr-xr-x  4 root     wheel     512 Apr 17 11:01 shell

%ll /home/shell
total 4
drwxr-xr-x  2 shell  shell  512 Apr 17 11:07 new
drwxr-xr-x  2 root   wheel  512 Apr 17 11:01 pub
При такой конфигурации имеем:
1. удаленный шелл для этого аккаунта не работает (ForceCommand internal-sftp)
2. sftp для аккаунта работает нормально, работает chroot (ChrootDirectory %h)
3. зайдя под другого юзера, можно сделать su shell (это можно запретить сменой шелла в /etc/master.passwd)
4. с такими настройками прав на каталогах юзер читает все, что в его %h (здесь /home/shell) и под ним, но пишет/делает каталоги/удаляет только в new.

В качестве клиента плагина к far я не нашел :( - но хорошо работает WinSCP http://sourceforge.net/project/download ... mirror=dfn


PS. Это мой первый пост и я выражаю огромный респект и уважуху товарищам Lissyara и Storoge.

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение FenX » 2009-04-17 21:55:19

вообще, в 7й ветке, родной ssh системы изначально поддерживает ChrootDirectory
так что думаю, что ставить доп. порт, нет необходимости...

jrmm
рядовой
Сообщения: 24
Зарегистрирован: 2009-04-17 8:15:55

Re: OpenSSH и chroot

Непрочитанное сообщение jrmm » 2009-04-20 11:32:34

FenX писал(а):вообще, в 7й ветке, родной ssh системы изначально поддерживает ChrootDirectory
так что думаю, что ставить доп. порт, нет необходимости...
это было бы прекрасно, если бы было так.

но, повторюсь, по факту у меня была 7.0-RELEASE с SSH-2.0-OpenSSH_4.5p1,
в котором чрут не работал, поэтому и пришлось поставить порт.
кроме того, информация наверняка пригодится при установке на предыдущие версии.

PS. на другой машине у меня стоит FreeBSD 7.1-PRERELEASE i386, у нее базовая версия 5.1


update: между базовой версией и портом возможен конфликт не только в /etc/rc.conf, но и путь к pid у них совпадает.

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: OpenSSH и chroot

Непрочитанное сообщение ViktorichZ » 2009-04-20 14:32:45

на 7.1-RELEASE FreeBSD OpenSSH_5.1p1 FreeBSD-20080901, OpenSSL 0.9.8e 23 Feb 2007
отлично работает sftp в chroot, а chrot'ить ssh копируя окружение....
Match User us1 Address 10.1.1.1.1
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory /opt/qwe/ (там же bin home lib libexec usr)

jrmm
рядовой
Сообщения: 24
Зарегистрирован: 2009-04-17 8:15:55

Re: OpenSSH и chroot

Непрочитанное сообщение jrmm » 2009-04-21 9:31:55

ViktorichZ писал(а):на 7.1-RELEASE FreeBSD OpenSSH_5.1p1 FreeBSD-20080901, OpenSSL 0.9.8e 23 Feb 2007
отлично работает sftp в chroot, а chrot'ить ssh копируя окружение....
ChrootDirectory /opt/qwe/ (там же bin home lib libexec usr)
Насчет 7.1 полностью согласен.
А Что за каталог /opt? :fool:

Semen
проходил мимо

Re: OpenSSH и chroot

Непрочитанное сообщение Semen » 2009-05-20 13:57:20

При переносе пользователя в группу whel, всё работает, а если в sftponly, то вот так

Код: Выделить всё

123server123# ssh -vvv 123.123.123.123 -l MyUser -p 22
OpenSSH_4.5p1 FreeBSD-20061110, OpenSSL 0.9.7e-p1 25 Oct 2004
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to 123.123.123.123 [123.123.123.123] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 FreeBSD-openssh-portable-5.1.p1,1
debug1: match: OpenSSH_5.1p1 FreeBSD-openssh-portable-5.1.p1,1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-dss,ssh-rsa
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_init: found hmac-md5
debug1: kex: server->client aes128-cbc hmac-md5 none
debug2: mac_init: found hmac-md5
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 133/256
debug2: bits set: 511/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 1
debug1: Host '123.123.123.123' is known and matches the DSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug2: bits set: 493/1024
debug1: ssh_dss_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/identity (0x0)
debug2: key: /root/.ssh/id_rsa (0x0)
debug2: key: /root/.ssh/id_dsa (0x0)
debug1: Authentications that can continue: publickey,keyboard-interactive
debug3: start over, passed a different list publickey,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug3: no such identity: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug3: no such identity: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1
Password:
debug3: packet_send2: adding 16 (len 30 padlen 18 extra_pad 64)
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 0
debug3: packet_send2: adding 48 (len 10 padlen 6 extra_pad 64)
debug1: Authentication succeeded (keyboard-interactive).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 0
debug3: tty_make_modes: ospeed 38400
debug3: tty_make_modes: ispeed 38400
debug3: tty_make_modes: 1 3
debug3: tty_make_modes: 2 28
debug3: tty_make_modes: 3 127
debug3: tty_make_modes: 4 21
debug3: tty_make_modes: 5 4
debug3: tty_make_modes: 6 255
debug3: tty_make_modes: 7 255
debug3: tty_make_modes: 8 17
debug3: tty_make_modes: 9 19
debug3: tty_make_modes: 10 26
debug3: tty_make_modes: 11 25
debug3: tty_make_modes: 12 18
debug3: tty_make_modes: 13 23
debug3: tty_make_modes: 14 22
debug3: tty_make_modes: 17 20
debug3: tty_make_modes: 18 15
debug3: tty_make_modes: 30 0
debug3: tty_make_modes: 31 0
debug3: tty_make_modes: 32 0
debug3: tty_make_modes: 33 0
debug3: tty_make_modes: 34 0
debug3: tty_make_modes: 35 0
debug3: tty_make_modes: 36 1
debug3: tty_make_modes: 38 1
debug3: tty_make_modes: 39 1
debug3: tty_make_modes: 40 0
debug3: tty_make_modes: 41 1
debug3: tty_make_modes: 50 1
debug3: tty_make_modes: 51 1
debug3: tty_make_modes: 53 1
debug3: tty_make_modes: 54 1
debug3: tty_make_modes: 55 0
debug3: tty_make_modes: 56 0
debug3: tty_make_modes: 57 0
debug3: tty_make_modes: 58 1
debug3: tty_make_modes: 59 1
debug3: tty_make_modes: 60 1
debug3: tty_make_modes: 61 1
debug3: tty_make_modes: 62 1
debug3: tty_make_modes: 70 1
debug3: tty_make_modes: 72 1
debug3: tty_make_modes: 73 0
debug3: tty_make_modes: 74 0
debug3: tty_make_modes: 75 0
debug3: tty_make_modes: 90 1
debug3: tty_make_modes: 91 1
debug3: tty_make_modes: 92 0
debug3: tty_make_modes: 93 0
debug2: channel 0: request shell confirm 0
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
/bin/sh: No such file or directory
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug2: channel 0: rcvd close
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
  #0 client-session (t4 r0 i3/0 o3/0 fd -1/-1 cfd -1)

debug3: channel 0: close_fds r -1 w -1 e 6 c -1
Connection to 123.123.123.123 closed.
debug1: Transferred: stdin 0, stdout 0, stderr 37 bytes in 0.0 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 2693.0
debug1: Exit status 1
123server123#
Что я просмотрел?

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: OpenSSH и chroot

Непрочитанное сообщение ViktorichZ » 2009-05-20 14:17:09

что сразу бросилось

Код: Выделить всё

debug1: Trying private key: /root/.ssh/identity
debug3: no such identity: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug3: no such identity: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa

/bin/sh: No such file or directory
может начнём с просмотра конфигов и описания как и что делали ?

Semen
проходил мимо

Re: OpenSSH и chroot

Непрочитанное сообщение Semen » 2009-05-20 18:53:54

Делалось практически всё по инструкции http://www.lissyara.su/?id=1828...
Только пользователь у меня в папке по умолчанию сидит, т.е.

Код: Выделить всё

MyUser:*:UID:GID:MyUserFullName:/home/MyUser:/bin/sh
И ещё, увидев в sshd_config строки

Код: Выделить всё

# HostKey for protocol version 1
#HostKey /usr/local/etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /usr/local/etc/ssh/ssh_host_rsa_key
#HostKey /usr/local/etc/ssh/ssh_host_dsa_key
Я скопировал файлы

Код: Выделить всё

ssh_host_dsa_key
ssh_host_dsa_key.pub
ssh_host_key
ssh_host_key.pub
ssh_host_rsa_key
ssh_host_rsa_key.pub 
из /etc/ssh в /usr/local/etc/ssh

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение zingel » 2009-05-20 18:56:24

/bin/sh: No such file or directory
кривой chroot

давайте логи после коннекта
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение FenX » 2009-05-20 19:06:01

в директории, куда чрутится юзер, должны быть созданы диры /bin /sbin ... и т.д.
и в них должны быть все необходимые бинарники...

вы же говорите клиенту, что директория, куда он коннектится является "корнем" сервера...
ессно он пытается получить /bin/sh (для него это <chroot_dir>/bin/sh) и её нету...

Semen
проходил мимо

Re: OpenSSH и chroot

Непрочитанное сообщение Semen » 2009-05-20 19:20:37

Так... а вот про копирование, я, честно, не подумал...
А есть какой-то минимальный список того, что можно/нужно скопировать? Или только методом экспериментального тыка?

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение FenX » 2009-05-20 19:25:58

к сожалению, сказать не могу... сам не юзаю чрут =\

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение zingel » 2009-05-20 19:31:16

есть конечно, библиотеки

Код: Выделить всё

ldd /usr/sbin/sshd | awk '{print $1}' | xargs -o locate

Код: Выделить всё

ldd /bin/sh | awk '{print $1}' | xargs -o locate
и минимум в

Код: Выделить всё

/rescue/
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: OpenSSH и chroot

Непрочитанное сообщение FenX » 2009-05-20 19:38:18

ну... какэ смотря для каких задач))
в /rescue есть некоторые вещи, которые давать обычным юзерам вообще не надо)

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: OpenSSH и chroot

Непрочитанное сообщение ViktorichZ » 2009-05-20 20:57:19

zingel писал(а):есть конечно, библиотеки

Код: Выделить всё

ldd /usr/sbin/sshd | awk '{print $1}' | xargs -o locate

Код: Выделить всё

ldd /bin/sh | awk '{print $1}' | xargs -o locate
и минимум в

Код: Выделить всё

/rescue/
минимум, это
ldd /bin/sh
sshd нафик не надо, конечно если его из чрута не собираетесь запускать...

Semen
проходил мимо

Re: OpenSSH и chroot

Непрочитанное сообщение Semen » 2009-05-21 12:52:16

И так, я скопировал в папку пользователя (с сохранением путей)
\bin\sh
\lib\libc.so.6
\lib\libedit.so.5
\lib\libncurses.so.6
После попытки коннекта система попросила \libexec\ld-elf.so.1 я его скопировал.
Теперь пишет

Код: Выделить всё

internal-sftp: not found
Я скопировал \usr\local\libexec\sftp-server, но это не помогло... Куда рыть дальше?

P.S.: Благодарю за все ответы

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: OpenSSH и chroot

Непрочитанное сообщение ViktorichZ » 2009-05-21 13:41:33

для начала найти его find / -name sftp-server
ldd /usr/libexec/sftp-server
помойму пользуясь sftp копировать окружение не надо, при sftp chroot осуществляется самим sftp в пустую папку.

add вру окружение для чрута с sftp тоже надо

Semen
проходил мимо

Re: OpenSSH и chroot

Непрочитанное сообщение Semen » 2009-05-22 14:04:36

Код: Выделить всё

cp /usr/lib/libssh.so.3 /usr/home/MyUser/usr/lib/libssh.so.3
cp /lib/libcrypt.so.3 /usr/home/MyUser/lib/libcrypt.so.3
cp /lib/libcrypto.so.4 /usr/home/MyUser/lib/libcrypto.so.4
cp /lib/libz.so.3 /usr/home/MyUser/lib/libz.so.3
cp /lib/libc.so.6 /usr/home/MyUser/lib/libc.so.6
cp /usr/lib/libgssapi.so.8 /usr/home/MyUser/usr/lib/libgssapi.so.8
cp /usr/lib/libkrb5.so.8 /usr/home/MyUser/usr/lib/libkrb5.so.8
cp /usr/lib/libasn1.so.8 /usr/home/MyUser/usr/lib/libasn1.so.8
cp /usr/lib/libcom_err.so.3 /usr/home/MyUser/usr/lib/libcom_err.so.3
cp /usr/lib/libroken.so.8 /usr/home/MyUser/usr/lib/libroken.so.8
cp /lib/libmd.so.3 /usr/home/MyUser/lib/libmd.so.3
Результат всё тот-же...

Код: Выделить всё

internal-sftp: not found
...
debug1: Exit status 127