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

CYGWIN sshd «порт 22: в соединении отказано»

погуглил это до смерти, не могу решить. Я не могу подключиться к своему CYGWIN sshd с другого компьютера. Netstat показывает, что соединение установлено. Можно подключиться локально, без проблем.

[oracle@aserver ~]$  ssh myid@mycomp
ssh: connect to host mycomp port 22: Connection refused

На mycomp:

$ netstat -a | grep ssh
  TCP    MYCOMP:ssh            MYCOMP.mydomain.com:0  LISTENING
  TCP    MYCOMP:1161           aserver.mydomain.com:ssh  ESTABLISHED

Успешный вход с локального хоста:

$ ssh myid@mycomp
myid@mycomp's password:
Last login: Tue Sep 14 14:27:30 2010 from mycomp.mydomain.com
Fanfare!!!
You are successfully logged in to this server!!!

Я на XP sp3, сегодня обновил CYGWIN. Пробовал очистить и перенастроить, не помогло.

Очистка (кредит Herb Maeder http://www.cygwin.com/ml/cygwin/2008-10/msg00370.html):

# Remove sshd service
cygrunsrv --stop sshd
cygrunsrv --remove sshd
# Delete any sshd or related users (such as cyg_server) from /etc/passwd
#   (use your favorite editor)
# Delete any sshd or relaged users (such as cyg_server) from the system
net user sshd /delete

Настроить:

$ ssh-host-config -y
*** Query: Overwrite existing /etc/ssh_config file? (yes/no) yes
*** Info: Creating default /etc/ssh_config file
*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes
*** Info: Creating default /etc/sshd_config file
*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.
*** Info: However, this requires a non-privileged account called 'sshd'.
*** Info: For more info on privilege separation read /usr/share/doc/openssh/README.privsep.
*** Query: Should privilege separation be used? (yes/no) yes
*** Info: Note that creating a new user requires that the current account have
*** Info: Administrator privileges.  Should this script attempt to create a
*** Query: new local account 'sshd'? (yes/no) yes
*** Info: Updating /etc/sshd_config file
*** Query: Overwrite existing /etc/inetd.d/sshd-inetd file? (yes/no) yes
*** Info: Creating default /etc/inetd.d/sshd-inetd file
*** Info: Updated /etc/inetd.d/sshd-inetd


*** Warning: The following functions require administrator privileges!

*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Query: Enter the value of CYGWIN for the daemon: []

*** Info: The sshd service has been installed under the LocalSystem
*** Info: account (also known as SYSTEM). To start the service now, call
*** Info: `net start sshd' or `cygrunsrv -S sshd'.  Otherwise, it
*** Info: will start automatically after the next reboot.

*** Info: Host configuration finished. Have fun!

myid@MYCOMP /cygdrive/c/Documents and Settings/myid
$ cygrunsrv -S sshd

myid@MYCOMP /cygdrive/c/Documents and Settings/myid
$ cygrunsrv -Q sshd
Service             : sshd
Display name        : CYGWIN sshd
Current State       : Running
Controls Accepted   : Stop
Command             : /usr/sbin/sshd -D

Можете ли вы установить telnet на 22 порт с другого компьютера?

telnet <mycomp> 22

Если вам отказывают в соединении (и вы можете подключиться через localhost), это определенно проблема брандмауэра. Помимо брандмауэра Windows существуют и другие брандмауэры - McAfee, ZoneAlarm и т. Д., И похоже, что вас заблокировали, поскольку вы можете получить к нему доступ изнутри (указывая, что он прослушивает правильный порт), но вы не можете получить к нему доступ извне (указывает на то, что внешние порты закрыты).

Удивительно, Mozilla отлично подходит для настройки брандмауэров- включая брандмауэр Windows. Попробуйте. То, что вы думаете, что брандмауэр не работает, не означает, что его нет.

Есть ли шанс, что брандмауэр Windows запущен?

Вы запускали свой SSH-клиент в подробном или отладочном режиме?

Я занимаюсь именно этим вопросом уже несколько недель. Это может не относиться непосредственно к этому случаю. Но я собираюсь поделиться здесь своим опытом, в надежде, что это кому-то поможет.

Cygwin SSHD работает на моем Windows 7 Home Premium Box.

  • Мне удалось подключиться к машине по ssh с локального хоста или ввести свой IP-адрес. Это была попытка, и она была успешной в Putty.
  • Мне НЕ удалось подключиться к машине по ssh с любого другого устройства в локальной сети.
    • Я убедился, что это не проблема брандмауэра, антивируса или безопасности. Я тестировал это, используя apache Portable на порту 22. Я смог связаться с ним через порт 22. Я также убедился, что sshd.exe получил полную возможность общаться в сети.
    • Я отключил все функции брандмауэра на машине. Это был только защитник Windows и брандмауэр Windows. Это не устранило проблему
  • после некоторого покопания. Я смог обнаружить, что это было что-то с самой замазкой. По какой-то причине я могу без проблем использовать openssh-клиент с моего Linux-сервера (в облаке). Я думаю, это как-то связано с замазками ключей.
  • Я запустил putty.exe -cleanup, но проблема не исчезла.
  • На одном из моих серверов linux я получаю ssh_exchange_identification: соединение закрыто удаленным хостом
  • На другом одном из моих серверов Linux он просто подключается.

Надеюсь это поможет.

Девон

- РЕДАКТИРОВАТЬ - Хорошо. Стало становиться еще более странным. У меня есть 4 облачных сервера, каждый из которых привязан к разному домену. Один сервер мог войти в мой sshd, а другие - нет.

Я исправил это, закомментировав все записи в hosts.deny. Я также настроил свой файл hosts.allow, чтобы он выглядел так.

ALL : localhost 127.0.0.1/32 [::1]/128 [::ffff:127.0.0.1]/128 : allow
SSHD : ALL

Это исправило это для меня.

Я столкнулся с той же ошибкой и обнаружил, что мой sshd не работает. Итак, запустите свой sshd, используя net start sshd и это может сработать для вас.