Как этот отчет об ошибках указывает, существует a /etc/default/hdparm
файл в Debian hdparm
пакет, необходимо взглянуть на это..., там мог бы (я не быть уверенным, извините, никакая система Debian под рукой прямо сейчас) быть a /etc/hdparm.conf
Также, который должен использоваться для установки этих параметров в init время.
Это - давняя проблема. Я нашел его десять лет назад, когда я сначала должен был смешать коммерческий SSH на работе и открытый-SSH дома. Я столкнулся с ним снова сегодня и нашел это сообщение.
Если бы я искал "sftp/scp сбои, но ssh в порядке то", мне напомнили бы о решении раньше!
Помещенный просто, .bashrc и .bash_profile и т.д. должны быть тихими, или они вмешиваются в sftp / scp протокол подключения.
Посмотрите открыть-SSH FAQ:
В каждом ответе, который я видел где-либо по этому поводу, утверждается, что это слишком много распечатанных материалов через / etc / motd
или .bashrc
и т. Д. Не всегда верно. Если у вас есть учетная запись без .bashrc
, / etc / motd
пуст, а значение по умолчанию .bashrc
- минимальное без вывода на печать ВЫ ВСЕ ЕЩЕ МОЖЕТЕ столкнуться с проблемой. Если у вас есть учетная запись пользователя с оболочкой / sbin / nologin
или / bin / false
, эта ошибка все равно будет происходить.
Зачем вы это делаете ??? Если вы пытались предоставить кому-либо sftp
, заключенному в тюрьму с правами root, это произойдет без доступа через защищенную оболочку.
Решение: разрешите ssh
и поместите их в корневую тюрьму. Это проблема, которую необходимо решить в ssh
, это слишком долго.
По крайней мере, для SFTP это можно исправить с помощью подсистемы internal-sftp
, поскольку она не читает .bashrc
или / etc / motd
.
Просто измените файл / etc / ssh / sshd_config
и измените подсистему SFTP:
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
И ошибка исчезла.
просто поместите следующее в начало ~/.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 или аналогичный, чтобы он соответствовал вашей оболочке на этом выносной ящик
ssh yourhost /usr/bin/true
зондировать вывод Вашего ssh. В моем случае я нашел, что некоторая команда в ~/.bashrc начала производить ошибки. – Yuval Atzmon 29.05.2017, 14:22