Назад | Перейти на главную страницу

как решить ошибку: «ssh_exchange_identification: соединение закрыто удаленным хостом»

Ошибка:

ssh_exchange_identification: соединение закрыто удаленным хостом

есть много предлагаемых решений, но, похоже, ни одно из них не решает мою проблему.

Вот чего я хочу добиться:

У меня есть сервер (10.0.0.5) SSH. На сервере есть следующие пользователи и их оболочки:

passport , shell=/bin/false
user1, shell=git-shell
user2, shell=git-shell
me, shell=bash

В sshd_config файл, имеет в конце следующую запись:

AllowTcpForwarding no
      Match User passport,user1,user2
      AllowTcpForwarding true
      PermitOpen 10.0.0.5:8080
      PermitOpen 10.0.0.5:22

Я также включил аутентификацию с открытым ключом. Цель состоит в том, чтобы отключить всю пересылку tcp из SSH и разрешить только упомянутым выше пользователям пересылку на двух портах:

- SSH
- a web server

В моем /etc/hosts.allow и .deny файлов нет записей.

Я настраиваю соответствующий authorized_keys file (просто ssh-rsa ...) в /home/passport/.ssh/authorized_keys.

На компьютере с Windows попробуйте SSH:

ssh passport@10.0.0.5 -N -L 22:10.0.0.5:22 -L 8080:10.0.0.5:8080

Это нормально работает, когда "я пытаюсь перейти на http://127.0.0.1:8080"Это означает, что переадресация портов работает нормально.

Теперь я хочу попробовать SSH через этот туннель и использовать user1:

ssh -N user1@127.0.0.1

В этот момент я получаю:

ssh_exchange_identification: соединение закрыто удаленным хостом

Принимая во внимание, что если я просто использую SSH прямо со своего компьютера с Windows, мне это удается:

ssh -N user1@10.0.0.5

Не знаю, почему не работает.

Я проверяю /var/log/auth.log и обратите внимание:

Feb  4 10:28:23 myhost sshd[2097]: debug1: server_input_channel_open: ctype direct-tcpip rchan 257 win 16384 max 16384
Feb  4 10:28:23 myhost sshd[2097]: debug1: server_request_direct_tcpip: originator 0.0.0.0 port 0, target 10.0.0.5 port 22
Feb  4 10:28:23 myhost sshd[2097]: Received request to connect to host 10.0.0.5 port 22, but the request was denied.
Feb  4 10:28:23 myhost sshd[2097]: debug1: server_input_channel_open: failure direct-tcpip

Пытаюсь прошить iptables с помощью -F и попробуйте перезапустить sshd, но я все равно получаю сообщение об ошибке закрытия соединения.

Теперь, если они хотят использовать GIT, они, например, будут использовать следующее:

git clone ssh://user1@127.0.0.1/repos/repo.git

Я использую Debian 6 с Linux 2.6.32 и OpenSSH 5.5p1

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

Вы можете указать только один PermitOpen директива; если вы хотите разрешить несколько переадресаций, укажите их в одной строке, разделенной пробелом:

PermitOpen 10.0.0.5:8080 10.0.0.5:22

Похоже, что OpenSSH применяет первую найденную директиву.