Вот что-то, что запустит Ваши программы параллельно:
#!/bin/bash
count=$1
command=$2
shift 2
for ((i=0;i<count;i++)); do
$command "$@" &
done
wait
echo done
Инструкция по ожиданию должна предотвратить зомби для разоблачения. Если для Ваших программ не нужен tty, можно заменить цикл:
for ((i=0;i<count;i++)); do
nohup $command "$@" </dev/null >/dev/null 2>&1 &
done
Тем путем процессы будут отсоединены от Вашей оболочки.
Я записал краткое руководство по при бэкпортировании OpenSSL 1.0.1 об/мин от Ядра Fedora для поддержки RHEL6 и вариантов путем замены связанных 1.0.0 версий для добавления поддержки ECC и TLSv1.2. Созданный и протестированный против CentOS 6.4 в сентябре 2013:
Руководство по OpenSSL 1.0.1 об/мин для CentOS 6
Пожалуйста, примите во внимание: Это - место, где я сохраняю свою собственную копию OpenSSL и OpenSSH актуальной. Улучшения CentOS 6.5 в основном смягчили спрос на TLS1.2, и дефекты как Heartbleed обращены там, в то время как этот ответ навсегда застрянет в 2013. Не выполняйте шаги ниже verbatim, обязательно, чтобы Вы выполнили 1.0.1 г или более новый.
Теперь с GitHub: github/ptudor/centos6-openssl
Я сделал патч доступным, на который я сошлюсь в этом руководстве: openssl-spec-patricktudor-latest.diff
Во-первых, подготовьте свою среду сборки. (При установке EPEL используйте насмешку. Хранение его простой здесь...)
yum -y groupinstall "Development tools"
yum -y install rpm-build zlib-devel krb5-devel
mkdir -p $HOME/redhat/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%_topdir $HOME/redhat/" > ~/.rpmmacros
Затем, захватите Ядро Fedora 20 SRPM для OpenSSL и полного источника OpenSSL.
rpm -Uvh http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/o/openssl-1.0.1e-42.fc21.src.rpm
cd ~/redhat/SOURCES/
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.sha1
openssl dgst -sha1 openssl-1.0.1g.tar.gz ; cat openssl-1.0.1g.tar.gz.sha1
Теперь примените старый secure_getenv синтаксис и примените патч:
cd ~/redhat/SOURCES/
sed -i -e "s/secure_getenv/__secure_getenv/g" openssl-1.0.1e-env-zlib.patch
cd ~/redhat/SPECS/
wget http://www.ptudor.net/linux/openssl/resources/openssl-spec-patricktudor-fc20-19.diff
patch -p1 < openssl-spec-patricktudor-latest.diff
Выполните сборку:
time rpmbuild -ba openssl.spec
Все подходило, надо надеяться, поэтому давайте установим новый RPMs:
cd ~/redhat/RPMS/x86_64/
sudo rpm -Fvh openssl-1.0.1g-*.rpm openssl-libs-1.0.1g-*.rpm openssl-devel-1.0.1g-*.rpm
Удостоверьтесь, что это на самом деле работало:
openssl ciphers -v 'TLSv1.2' | head -4
Ссылка выше в моем веб-сайте имеет больше деталей, но это должно быть хорошей начальной точкой.
Спасибо, наслаждаться.
20130819: Сделанный из сыромятной кожи пересмотр ударен от 14 до 15.
20130831: пересмотр fc20 ударен от 15 до 18.
20130906: пересмотр fc20 ударен от 18 до 19.
20140408: просто перейдите к моему веб-сайту для чего-либо после 1.0.1 г.
Я нашел эту ссылку на ServerFault, который покрывает установку TLSv1.2. Вопросы и ответы названы: SSL/TLS 1.2 на Apache с openssl 1.0.1.
Эти ссылки касаются информации TLSv1.2:
Включая следующее в Вашем httpd.conf
должен включить TLSv1.2, принимающий Вас, имеют httpd v2.2 или выше и openssl 1.0.1c или выше.
SSLProtocol all -SSLv2
Все еще необходимо установить CipherSuites. Это - то, где это может стать сбивающим с толку. Согласно документам выше, единственный обязательный набор шифров для TLS 1.2 TLS_RSA_WITH_AES_128_CBC_SHA
:
Appendix C. Cipher Suite Definitions
Cipher Suite Key Cipher Mac
Exchange
TLS_RSA_WITH_AES_128_CBC_SHA RSA AES_128_CBC SHA
Это говорит, что сервер должен предоставить сертификат RSA для ключевого обмена, и что шифр должен быть AES_128_CBC и SHA Mac.
От httpd mod_ssl документы, это переводит в:
SSLCipherSuite aRSA:kRSA:AES128-CBC:SHA
Можно читать о SSLCipherSuites в httpd, здесь.
В прошлом я использовал свое названное сообщение в блоге: Блокировка Вниз SSLv2 в Apache, чтобы сделать это для TLSv1.1. Все на той странице должно все еще быть релевантным, все, что необходимо будет сделать, изменить CipherSuites + версии openssl
.
Я недавно расследовал эту же проблему для друга, в контексте пуделя.
Если вы используете последние (AORN) HTTPD24 сборки с октября 2013 года на EPEL, вы получите TLSV1.0 и TLSV1.1 по умолчанию. Однако, как только вы устанавливаете SSLProtocol в Apache для чего-либо еще разумного, вы потеряете эти протоколы из-за заголовков OpenSSL HTTPD24, по-видимому, было построено.
На практике это означает, что если вы попытаетесь отключить SSLV2 или SSLV3 явно, вы неявно отключите TLSV11 TLSV12.
Это несчастный quirk из mod_ssl, когда вы падаете до 1 протокола, о котором он знает.
HTTPD24 в Redhat «Коллекции программного обеспечения» создан совсем недавно и не страдает от этой проблемы, она предположительно построена против более позднего OpenSSL (или имеет тривиальный пользовательский патч)