Лучший путь и лучшая практика способ сделать это с сертификатом UC, также известным как SAN (Подчиненные Альтернативные Имена) сертификат. ВОТ некоторая большая информация о том, как/какой SAN и как это работает.
Но в основном, сертификат с имеет несколько имен в нем, скорее всего: имя сервера netbios, локальный сервер FQDN, Ваш URL веб-почты и автообнаружить URL
Как дополнительное примечание, у меня есть подобная установка на одном из моих серверов. Это выполняет Sharepoint и Exchange 2007. У меня есть сертификат SAN со следующим:
имя сервера, servername.domain.local, autodiscover.domain.com, go.domain.com, internal.domain.com
Это позволяет моим клиентам Outlook соединяться с Exchange без предупреждений сертификата и также моими сайтами Sharepoint и OWA от внутренней и внешней части без любых предупреждений также. Это также делает мои клиенты способными соединить использование Outlook Где угодно с Автообнаруживанием.
Вероятно, не ответ Вы хотите услышать, но бросающий 2 отдельных сертификата в пользу SAN собирается сохранить Вас ТОННА головной боли когда дело доходит до IIS, потребности в нескольких IP-адресах, заголовках хоста, и т.д., что необходимо было бы дурачиться с получить его работающий способ, которым Вы хотите.
Потребовалось некоторое awk-волшебство, это что мой коллега и я, где способный для соединения.
#!/bin/bash
main() {
if [ -e $1 ] ; then
MONTH=$(date | awk '{ print $2 }')
elif [ $1 -ge 1 -a $1 -le 12 ] ; then
month $1
else
exit 1
fi
echo
echo "Usage statistics for month $MONTH"
echo
USERS=(`awk '/^'$MONTH'.*session opened for local user.*$/ { print $(NF-2) } ' /var/log/auth.log* | sort | uniq`)
for i in "${USERS[@]}"
do :
echo "################################"
echo "Usage for user: $i"
READ=0
WRITTEN=0
#processes for this user
PROCS=(`awk '/^'$MONTH'.*session opened for local user '$i'.*$/ { gsub("\\[|]|sftp-server|:","", $(NF-8)); print $(NF-8) } ' /var/log/auth.log* | sort | uniq`)
for j in "${PROCS[@]}"
do :
TEMP_READ=$(awk '/^'$MONTH'.*\['$j'\].*\ read\ [0-9]+\ written\ [0-9]+$/ { sum+=$(NF-2)}END{ print sum}' /var/log/auth.log*)
READ=$(($TEMP_READ+$READ))
TEMP_WRITTEN=$(awk '/^'$MONTH'.*\['$j'\].*\ read\ [0-9]+\ written\ [0-9]+$/ { sum+=$(NF)}END{ print sum}' /var/log/auth.log*)
WRITTEN=$(($TEMP_WRITTEN+$WRITTEN))
done
echo "Read $(($READ/(1024*1024))) MiB"
echo "Written $(($WRITTEN/(1024*1024))) MiB"
echo "################################"
echo
done
}
month() {
case "$1" in
1) MONTH='Jan'
;;
2) MONTH='Feb'
;;
3) MONTH='Mar'
;;
4) MONTH='Apr'
;;
5) MONTH='May'
;;
6) MONTH='Jun'
;;
7) MONTH='Jul'
;;
8) MONTH='Aug'
;;
9) MONTH='Sep'
;;
10) MONTH='Oct'
;;
11) MONTH='Nov'
;;
12) MONTH='Dec'
;;
*) echo 'Crash and Burn!'
exit 1
;;
esac
}
main $1
exit 0
В sshd_config я поместил это:
Subsystem sftp /usr/lib/openssh/sftp-server -l VERBOSE
Предупреждение: Эта память пожирателей ресурсов сценария! Если у Вас есть большие файлы журнала, могло бы потребоваться до 10 минут для сценария для окончания (протестированный на Микро EC2).
Вы могли отследить пользовательские входы в систему IP (доступный в файлах журнала) и затем использовать почти любое транспортное решение по контролю (Netflow, и IPtraf приходят на ум) отслеживать порт 22 трафика тем IP.
К сожалению, историческое использование в течение предыдущих нескольких месяцев не доступно, если Вам уже не настроили что-то с этой целью.
Вы могли бы хотеть проверить это сообщение на вход sftp. Я думаю, что это получит Вас, что Вы хотите с небольшим количеством дополнительной работы для парсинга журналов.