sftp дает ошибку: “Полученное сообщение слишком долго” и какова причина?

Как этот отчет об ошибках указывает, существует a /etc/default/hdparm файл в Debian hdparm пакет, необходимо взглянуть на это..., там мог бы (я не быть уверенным, извините, никакая система Debian под рукой прямо сейчас) быть a /etc/hdparm.confТакже, который должен использоваться для установки этих параметров в init время.

27
17.01.2013, 06:38
4 ответа

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

Если бы я искал "sftp/scp сбои, но ssh в порядке то", мне напомнили бы о решении раньше!

Помещенный просто, .bashrc и .bash_profile и т.д. должны быть тихими, или они вмешиваются в sftp / scp протокол подключения.

Посмотрите открыть-SSH FAQ:

2.9 - сбои sftp/scp при соединении, но ssh в порядке.

27
27.01.2020, 19:39
  • 1
    Самообновляющие утилиты оболочки являются пользой преступники для этой проблемы. Для меня это часто был менеджер по Версии Ruby, вмешивающийся в deploy-over-ssh Jenkins. –  Eric P. 03.09.2014, 16:33
  • 2
    Спасибо за это, удаляя некоторую отладку повторяют операторы, которые я имел в своем bashrc, и bash_profile решил это для меня. –  SgtPooki 14.11.2014, 20:56
  • 3
    Неправильный .bashrc должен быть тихим, .bash_profile может отозваться эхом без проблем. –  kubanczyk 14.12.2015, 00:52
  • 4
    Для любого приземляющегося здесь: Как предложено в serverfault.com/a/630714, можно использовать ssh yourhost /usr/bin/true зондировать вывод Вашего ssh. В моем случае я нашел, что некоторая команда в ~/.bashrc начала производить ошибки. –  Yuval Atzmon 29.05.2017, 14:22

В каждом ответе, который я видел где-либо по этому поводу, утверждается, что это слишком много распечатанных материалов через / etc / motd или .bashrc и т. Д. Не всегда верно. Если у вас есть учетная запись без .bashrc , / etc / motd пуст, а значение по умолчанию .bashrc - минимальное без вывода на печать ВЫ ВСЕ ЕЩЕ МОЖЕТЕ столкнуться с проблемой. Если у вас есть учетная запись пользователя с оболочкой / sbin / nologin или / bin / false , эта ошибка все равно будет происходить.

Зачем вы это делаете ??? Если вы пытались предоставить кому-либо sftp , заключенному в тюрьму с правами root, это произойдет без доступа через защищенную оболочку.

Решение: разрешите ssh и поместите их в корневую тюрьму. Это проблема, которую необходимо решить в ssh , это слишком долго.

2
27.01.2020, 19:39

По крайней мере, для SFTP это можно исправить с помощью подсистемы internal-sftp , поскольку она не читает .bashrc или / etc / motd .

Просто измените файл / etc / ssh / sshd_config и измените подсистему SFTP:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

И ошибка исчезла.

16
27.01.2020, 19:39

просто поместите следующее в начало ~/.bashrc для имени пользователя id на удаленной машине, если этот id использует bash

# If not running interactively, don't do anything and return early
[[ $- == *i* ]] || return  

, который просто рано выходит из ~/.bashrc вместо поиска всего файла... это решает проблему молчания.bashrc, когда вы не входите в систему с этим идентификатором, а просто запускаете свой scp или sftp с этим именем пользователя в качестве удаленный идентификатор... процитировать @Peter Scott в другом ответе :«Проще говоря, профиль.bashrc и.bash _и т. д. должны быть тихими, иначе они будут мешать протоколу соединения sftp / scp».

В качестве альтернативы, если этот удаленный идентификатор использует zsh, поместите следующее в начало его ~/.zshrc

# If not running interactively, don't do anything and return early
[[ -o interactive ]] || exit 0

Если оболочка на вашем удаленном компьютере не использует ~/.bashrc, внесите указанные выше изменения в файл ~/.bashrc _profile или ~/.profile или аналогичный, чтобы он соответствовал вашей оболочке на этом выносной ящик

4
27.01.2020, 19:39

Теги

Похожие вопросы