В повседневной деятельности пользователя можно выделить два вида деятельности - запуск программ (возможно с перенаправлением ввода вывода) и операции с файлами. На настоящий момент самым популярным протоколом запуска программ является протокол ssh, а для передачи файлов используются построенные на его основе команды scp и sftp.
Протокол ssh использует шифрование трафика, что обеспечивает защиту от перехвата паролей и передаваемых данных.
В состав комплекса входят клиентские программы ssh
- аналог telnet
и rsh
, scp
- аналог rcp
и sftp
- программа внешне похожая на ftp
по защищенному каналу. Несмотря на похожесть этих программ на своих предшественников, они используют другие протоколы, разработанные заново для исправления архитектурных ошибок, выявленных в их предшественниках.
Cервер OpenSSH в большинстве дистрибутивов устанавливается по умолчанию. Необходимо только подогнать настройки под свои нужды.
Конфигурационные файлы хранятся в каталоге /etc/ssh
Пользователи могут изменить личные настройки в файле $HOME/.ssh/config или задать их в командной строке.
В сети постоянно работают хакерские программы пытающиеся подобрать пароли к ssh грубой силой. В первую очередь проверяется пользователь root. По этому, первый шаг в укреплении безопасности – запрет root'у подключаться по ssh. Все администраторские действия лучше всего проводить с использованием программы Sudo. Кроме того, проверяются стандартные имена служб и типичные имена пользователей, например andrew, alex, mary и т.п. Лучший способ избавиться от проблем с подбором пароля – перейти на аутенификацию с публичным ключом. После генерации пары секретный ключ, публичный ключ, публичный ключ добавляется в список доверенных в файле пользователя ~/.ssh/authorized_keys. Права на файл authorized_keys желательно выставить в rw-------.
Серверные настройки – sshd_config
#Запрет на вход с именем root
PermitRootLogin no
#Разрешение на вход только по ключам
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
Для безопасного удаленного доступа к локальным сетевым службам и запуска программ с графическим интерфейсом добавляем
AllowTcpForwarding yes
X11Forwarding yes
Внимание: для работы X11Forwarding в CentOS необходимо установить пакет xorg-x11-xauth
"telnet" - протокол удалённого терминала предназначенный для удалённого подключения к ОС имеющих текстовый интерфейс.
"ftp" - по сути дела сеанс telnet
в рамках которого на сервере запускается специализированная диалоговая программа для работы с файлами. Для передачи содержимого каталогов и файлов устанавливается дополнительное соединение, по которому и передаётся содержимое файла.