У меня есть машина Cygwin, которая выполняет sshd. Когда я пытаюсь войти в машину с SSH, она требует времени для получения ответа.
С командой ssh -v user@cygwin
, Я вижу, что существует две команды, который занимает минуты.
debug1: Reading configuration data /etc/ssh_config debug1: Connecting to pspc [10.0.40.177] port 22. debug1: Connection established. debug1: identity file /Users/smcho/.ssh/identity type -1 debug1: identity file /Users/smcho/.ssh/id_rsa type -1 debug1: identity file /Users/smcho/.ssh/id_dsa type -1 <---
И
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 debug1: match: OpenSSH_5.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.2 debug1: SSH2_MSG_KEXINIT sent <---
После некоторого поиска с помощью Google я думаю, что он вызывается портом окон 113 являющийся firewalled. (http://www.cygwin.com/ml/cygwin/2009-03/msg00380.html)
Как я могу решить эту проблему? Как я могу возвратиться из identify
и SSH2_...IT sent
быстро?
Кроме действительно открытия IDENT
порт 113 к клиенту SSH (таким образом, сервер может попытаться соединиться с тем), у Вас могла бы быть некоторая удача при добавлении UseDNS no
кому: sshd_config
.
И я сомневаюсь, что это поможет Вам (клиент знает, где найти сервер, таким образом, это не 1-й маркер, Вы попробовали 2-й маркер, и задержки составляют дольше, чем 10 секунд, таким образом, другие маркеры не применяются), но для архивов состояния OpenSSH FAQ:
ssh (1) занимает много времени, чтобы соединиться или войти в систему
Большие задержки (больше, что 10 секунд) обычно вызываются проблема с определением имен:
- Некоторые версии glibc (особенно glibc 2.1, поставленный с Red Hat 6.1), могут занять много времени для разрешения "IPv6 или IPv4" адреса от доменных имен. Это может работаться вокруг с путем определения
AddressFamily inet
опция вssh_config
. [На клиенте; AvB.]- Может быть проблема поиска DNS, или в клиенте или в сервере. Можно использовать команду nslookup для проверки этого и на клиенте и сервере путем поиска имени другого конца и на IP-адресе. Кроме того, на сервере ищут имя, возвращенное поиском имени IP клиента. Можно отключить большинство поисков серверной стороны путем установки
UseDNS no
вsshd_config
. [На сервере, AvB.]Задержки меньше чем 10 секунд могут иметь другие причины.
- Выпуски OpenSSH до 3,8 имели
moduli
файл с модулями, которые были просто меньшими, чем, что sshd будет искать, и в результате sshd, закончил бы тем, что использовал модули, значительно больше, чем требуемый, который привел к штрафу скорости. Заменаmoduli
файл решит, это (обратите внимание, что в большинстве случаев этот файл не будет заменен во время обновления и должен быть заменен вручную).- Выпуски OpenSSH до 3,8 имели дефект в
ssh
это заставило бы это запрашивать модули, больше, чем предназначенный (который в сочетании с вышеупомянутым привел к значительному замедлению). Обновление клиента к 3,8 или выше решит этот вопрос.Если или клиент или сервер испытывают недостаток в основанном на ядре устройстве случайного числа (например, Солярис <9, AIX <5.2, HP-UX <11.11), и никакая замена не доступна (например, prngd), возможно что одна из программ, названных
ssh-rand-helper
генерировать энтропию зависает. Это может быть исследовано путем выполнения его в режиме отладки:/usr/local/libexec/ssh-rand-helper -vvvЛюбые значительные задержки должны быть исследованы и исправлены, или соответствующие команды должны быть удалены из ssh_prng_cmds.
Я испытывал замедление на первом случае, который Вы упомянули.
debug1: identity file /Users/smcho/.ssh/id_dsa type -1 <---
Моя версия OpenSSH была 5.1. Я удалил старую установку и установил cygwin OpenSSH 5.5, скорость issus пошла. Возможно, Вы могли попробовать это..