Настраиваем SSH на FreeBSD 9.1

Как управлять удаленным сервером или просто сервером без монитора. Так как FreeBSD в основном консольная операционная система, то SSH хватит на все.
В статье будет рассказано обычная настройка для того что бы можно пользоваться

И так, для начало добавим в /etc/rc.conf строчку sshd_enable="YES"
Теперь при загрузки будет автоматически запускаться, если во время установки FreeBSD была выбрана опция SSH, то эта строка уже будет в файле rc.conf
Открываем файл конфигурации SSH ee /etc/ssh/sshd_config и конфигурациям под свои нужны.
#$OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $
#$FreeBSD: release/9.1.0/crypto/openssh/sshd_config 224638 2011-08-03 19:14:22Z brooks 

# Порт который слушает SSH, лучше сменить на другой
Port 22 
# Возможные значения: "any", "inet","inet6" Какой протокол сети
AddressFamily inet
# Какой IP адрес будет слушать SSH сервер.
ListenAddress 192.168.0.1

# Версия протокола. Ставим 2 так как безопасность выше.
Protocol 2

# HostKey for protocol version 1. Файлы для протокола первой версии, у нас вторая версия
#HostKey /etc/ssh/ssh_host_key
#HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key

# Lifetime and size of ephemeral version 1 server key. Аналогично, у нас вторая версия
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Код сообщения для syslog и уровень логов.
#SyslogFacility AUTH
#LogLevel INFO

# Авторизация:

# Время на авторизацию, по умолчанию две минуты.
LoginGraceTime 1m
# Разрешаем авторизацию root, я привык ходить от рута. В идеале нужно отдельного пользователя. Разграничивание прав, но мне это не нужно
PermitRootLogin yes
# Проверяем права доступа к файлам конфигурации и домашним каталогам. По умолчанию yes, рекомендуют использовать.
StrictModes yes
# Количество попыток входа, неверные заносятся в лог. По умолчанию 6
MaxAuthTries 3
# Количество одновременных сессий. По умолчанию 10, поставлю 5. Бывает что работаею в несколько сессий.
MaxSessions 5

# Аутентификация только по ключу RSA, для протокола первой версии.
#RSAAuthentication yes
# Аутентификация по открытому ключу, для протокола второй версии.
#PubkeyAuthentication yes
# Путь к открытому ключу
#AuthorizedKeysFile	.ssh/authorized_keys

# Ключи хостов, мне не нужно. For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# Авторизация по паролю
PasswordAuthentication yes
# Разрешить использовать пустые пароли
PermitEmptyPasswords no

# Change to no to disable PAM authentication. Аутентификация использующие механизмы login.conf
#ChallengeResponseAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options. Только для протокола второй версии.
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# Set this to 'no' to disable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM yes

#AllowAgentForwarding yes # Разрешить или запретить перенаправление
#AllowTcpForwarding yes # Разрешает TCP перенаправление
#GatewayPorts no # Разрешать ли удаленным хостам доступ к перенаправленным портам
#X11Forwarding yes # Разрешено ли перенаправление графической подсистемы X11
#X11DisplayOffset 10 # Номер первого дисплея
#X11UseLocalhost yes # Использовать 127.0.0.1 для перенаправления X11
#PrintMotd yes # Показывать содержимое файл /etc/motd при входе
#PrintLastLog yes # Показывает время последнего входа
#TCPKeepAlive yes # Поддержка соединений в активном режиме.
#UseLogin no # Указывает, должен ли использоваться login для интерактивного сеанса.
#UsePrivilegeSeparation yes # Отдельный процесс для пользователя, в качестве безопасности.
#PermitUserEnvironment no # Принимать во внимание файл environment
#Compression delayed # Сжатие сразу, после авторизации, отключено. значения: "yes", "delayed", "no".
#ClientAliveInterval 0 # Время простоя клиента в секундах после чего ssh сервер отправляет запрос клиенту. При значение ноль такие запросы не отпраляются.
#ClientAliveCountMax 3 # Количество проверки доступности клиента
#UseDNS yes # DNS запрос проверки имени удаленного хоста.
#PidFile /var/run/sshd.pid
#MaxStartups 10 # Количество не авторизованных соединений .
#PermitTunnel no # Форвардинг для устройств tun.
#ChrootDirectory none # chroot после авторизации.

# Файл сообщений до входа, для второй версии протокола
#Banner none

# Передача файлов через SSH
Subsystem	sftp	/usr/libexec/sftp-server

# HPN-SSH Ускоряет производительность, увеличивает буферы
# Disable HPN tuning improvements.
#HPNDisabled no
# Buffer size for HPN to non-HPN connections.
#HPNBufferSize 2048
# TCP receive socket buffer polling for HPN.  Disable on non autotuning kernels.
#TcpRcvBufPoll yes

# Allow the use of the NONE cipher. Отключаем шифрования, увеличивает производительность.
#NoneEnabled no


Сохраняем файл, естественно настроив под свои нужны. Хотя можно оставить все так-же изменив только IP адрес и порт.
Перезапускаем наш SSH сервер (/etc/rc.d/sshd restart) или перезагружающемся. Если нет физического доступа к сервер нужно быть аккуратным, так как можно потерять доступ к серверу.

Если есть вопросы и замечания отвечу в комментариях.
0.10
12.08.2013 17:21