У меня была эта проблема, и исправление заключалось в том, чтобы разместить «UsePAM yes» над разделом «Подсистема sftp internal-sftp». Перезапустите SSH, и все заработало.
Результаты Chroot SSH пользователя в домашнюю папку в соединении отказано
Я пытаюсь дать кому-то ssh доступ к имеющемуся серверу (Ubuntu 14.04), но я хочу ограничить их собственной домашней папкой. Поэтому я пытаюсь следовать этому уроку .
Сначала я создал user ( sudo adduser jailuser
), который позволил войти в систему с помощью jailuser. Затем, продолжая пытаться посадить пользователя в тюрьму, я добавил следующее /etc/ssh/sshd_config
(и перезапустил ssh):
Subsystem sftp internal-sftp Match Group sftp ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
Затем я создал группу sftp:
sudo groupadd sftp
и запустил следующие команды для изменения jailuser:
sudo usermod -G sftp jailuser sudo usermod -s /bin/false jailuser sudo chown root:root /home/jailuser sudo chmod 0755 /home/jailuser
Результатом является то, что я не могу войти: ssh: connect to host xx.xxx.xx.223 port 22: Connection refused
.
Так как я новичок в управлении серверами, я здесь потерян. Кто-нибудь знает, что я делаю не так? Все советы / хитрости приветствуются!
2 ответа на вопрос
Я не вижу ничего явно неправильного в sshd_config
строках, которые вы разместили. Кажется, здесь есть три возможности:
- Нет ничего плохого, но
sshd
нужно начинать. sshd
может работать, но не прослушивает правильный IP-адрес или порт.- Что-то мешает
sshd
начать.
Для всего следующего вам нужно быть root
на хосте ssh-сервера.
Для (1), запустите что-то вроде «ps -fe | grep sshd», чтобы увидеть, sshd
работает он или нет. Если нет, попробуйте запустить сервер ssh. В Ubuntu вы запустите это:
/etc/init.d/ssh restart
Если sshd
работает, перейдите к (2). Проверьте sshd_config
для ListenAddress или порта директив. Они определяют, какой IP-адрес и порт сервер будет прослушивать для соединений. В большинстве случаев вы оставляете их закомментированными (для использования значений по умолчанию) или устанавливаете их на 0.0.0.0 и 22 соответственно.
Если вы попытались запустить, sshd
но он не запустился, начните с проверки файлов журнала на /var/log
наличие сообщений от sshd
. Они могут указать, с какой проблемой это связано. Если это не сработает, вы можете запустить sshd
интерактивно с отладкой:
/usr/sbin/sshd -ddd # Listen on the default port 22 /usr/sbin/sshd -ddd -p 1022 # Listen on port 1022
sshd
останется подключенным к вашему терминалу и распечатает кучу отладочной информации. Если он не может продолжать работать по какой-то причине, он должен сказать вам, почему.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
8
Ожидание ноутбука в Linux / Ubuntu
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
3
Могу ли я запустить Microsoft Office 2007 под Ubuntu?