Просто блог
Для разграничения доступ по ssh и sftp для разных пользователей и подключения к этим сервисам по разным портам нам потребуется:
Если в системе не установлен ssh, то ставим его командой
aptitude install ssh
Создаем группы ssh-users и sftp-users и добавляем в них пользователей, которые должны иметь доступ по ssh и/или sftp соотвественно.
groupadd ssh-users
groupadd sftp-users
usermod -a -G ssh-users,sftp-users user
Заходим в конфигурационный файл ssh: /etc/ssh/sshd_config и меняем в начале файла порт:
Port 22
на
Port 22
Port 2222
и в конец файла добавляем
Subsystem sftp internal-sftp
Match LocalPort 22
AllowGroups ssh-users
Match LocalPort 2222
AllowGroups sftp-users
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
ForceCommand internal-sftp
ChrootDirectory %h
В итоге получаем, что на порт 22 по ssh могут подключаться пользователи только из группы ssh-users (правда теже пользоватлеи могут на 22 порт подключиться и по sftp), а на порт 2222 по sftp могут подключаться пользователи только из группы sftp-users (по ssh они доступа не имеют).
После всего перезапускаем ssh и все готово
service ssh restart
ВНИМАНИЕ! Если сервер удаленный, проверьте что можете подключиться к нему по ssh, не разрывая текущее соединение, иначе при неправильной настройке вы можете остаться без доступа к серверу!