среда, 15 мая 2013 г.

Установка и настройка SSH-Сервера на FreeBsd 9.1

SSH (англ. Secure SHell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).
Во FreeBsd 9.1 SSH-Сервер включен в базовую систему. Запустить его можно двумя способами:
1. Запустить из терминала от суперпользователя root командой /etc/rc.d/sshd onestart (соответственно команда остановить /etc/rc.d/sshd onestop и перезагрузить /etc/rc.d/sshd onerestart)

2. Добавить строку sshd_enable="YES" в файл /etc/rc.conf(потребуется перезагрузка). В этом случае sshd будет стартовать с запуском системы. (остановка - /etc/rc.d/sshd stop; перезагрузка - /etc/rc.d/sshd reload; запуск - /etc/rc.d/sshd start)

Посмотреть версию сервера можно командой ssh -V.

Настройка сервера SSH производится через файл конфигурации /etc/ssh/sshd_config.
Основные директивы на мой взгляд это:
- Port (Порт, на котором сервер sshd, принимает и обслуживает соединения.По-умолчанию 22.)
- PermitRootLogin (Разрешить пользователю root вход через протокол SSH.Возможные значения:"yes","without-password","forced-commands-only","no".Значение по умолчанию "no", удаленный вход в систему пользователем root, полностью запрещен.)
- PasswordAuthentication (Разрешить аутентификацию по паролю.По-умолчанию "yes".)
- MaxAuthTries (Количество попыток входа в систему.)
- AllowUsers (Имена пользователей разделенные пробелом имеющие доступ.)
пр: AllowUsers admin@192.168.0.101 user1 userN (пользователям user1 и userN разрешен доступ с любых хостов, пользователю admin только с хоста 192.168.0.101)
По остальным опциям можно прочитать в документации которую можно получить командой man sshd_config.
Теперь о клиенте. Клиентом является утилита /usr/bin/ssh. SSH-клиент также включен в базовую систему FreeBsd. Файл конфигурации - /etc/ssh/ssh_config. Конфигурационный файл делится на разделы. Каждый раздел для определенного хоста. Хост прописыватся директивой Host(пр. * - для всех хостов, 192.168.0.100 - для одного хоста, если необходимо несколько хостов их можно прописать через запятую), далее директивы для этого хоста.
Основные директивы на мой взгляд это:
- ConnectTimeout (Интервал времени отведенный на установление соединения SSH сервером.)
- Port (Порт удаленного сервера SSH, для подключения. По-умолчанию 22.)
- PasswordAuthentication (Использовать проверку по паролю. По-умолчанию "yes".)
Подключение.Примеры:
# ssh 192.168.0.100
# ssh user@192.168.0.100
# ssh user@192.168.0.100 -p 44
или ssh -l user 192.168.0.100 -p 44
SSH клиент, имеет большой список опций в командной строке. Посмотреть этот список можно командой man ssh.Отметим основные:

-l имя_пользователя (Имя пользователя для подключения к серверу SSH.)
-p номер порта (Номер порта удаленного сервера, на который нужно подключиться.)
-L local_port:host:remote_port (Выполняет форвардинг локального порта local_port на порт remote_port, удаленного хоста.)
-R local_port:localhost:remote_port (Выполняет форвардинг удаленного порта remote_port на локальный порт local_port.)
-N (Не выполнять никаких команд на удаленном хосте. Опция часто используется для простого форвардинга портов.)
-v (Выводить отладочную информацию. Полезно для поиска ошибок в конфигурировании и отладки соединений.)

Для удаленного копирования файлов вам поможет утилита scp (входит в состав openssh).
Примеры:
scp file user_name@remote_server:~/ (Копируем file на удаленный хост remote_server в домашний каталог ~/ пользователя user_name.)
scp user_name@remote_server:~/file (Копируем file на локальный хост с удаленного хоста remote_server в текущий каталог.)

Midnight Commander – одна из программ, обладающая функциями SCP-клиента (Меню > Правая панель/Левая панель > Shell-соединение). 

Комментариев нет:

Отправить комментарий