![]() |
LINUX |
OpenSSHのインストール 4 Router
*クライアントからサーバへのSECUREな接続を目指します
*openssh-5.5p1のインストールと設定をします
*既存を削除し、オリジナルソースからインストールします
*公開鍵認証によるアクセスを基本とします
*make はメンテナンスマシンで行っています
**以降はコメントです
*ソースの取得、削除は略します
*エディタ、ファイラーの操作は省略します
*ソースを展開したら説明文 (英文) を読みましょう
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :openssh-5.5p1.tar.gz (http://www.openssh.org/) |
参照ファイル:パッケージの追加
:最初の設定 (Router)
:opensslのインストール
インストール環境| :OS | CentOS 5.5 |
| :selinux | permissive |
| :インストール先 | /usr/local/ (デフォルト) |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスの場合は一般ユーザから行います
openssh-5.5p1
opensshパッケージの削除・ユーザsshdの修正*opensshは[Base System]でインストールされます
*ソースから入れるので削除します
*sshdユーザがないとinstallのときエラーがでます
# service sshd stop # rpm -e openssh openssh-clients openssh-server # mv /etc/ssh /etc/ssh-OLD # mkdir -p /var/empty/sshd # usermod -d /var/empty/sshd -s /bin/false sshd
ソースの展開・インストール
# cd /usr/src
# tar zxvf openssh-5.5p1.tar.gz
# chown -R root:root openssh-5.5p1
# cd openssh-5.5p1
# make distclean
# ./configure CFLAGS="-O2 -march=pentium3" \
--sysconfdir=/etc/ssh \
--with-ssl-dir=/usr/local \
--with-privsep-path=/var/empty/sshd \
--with-md5-passwords \
--with-tcp-wrappers \
--with-pam \
--with-ipaddr-display
*CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
*該当しない場合は指定しない
*オプションは半角を入れて続けて記入した方が良い
# make
# make uninstall
# make install
*起動スクリプト・pam用ファイルをコピーします
*redhat用を使います
# cd contrib/redhat
# cp sshd.init /etc/init.d/sshd
# cp sshd.pam /etc/pam.d/sshd
# cd /usr/src
# tar jcvf openssh-5.5p1-rt-100519.tar.bz2 openssh-5.5p1/
sshd自動起動スクリプトを修正します (変更追加部分のみ):/etc/rc.d/init.d/sshd
*省略
KEYGEN=/usr/local/bin/ssh-keygen SSHD=/usr/local/sbin/sshd
*省略
start()
{
# Create keys if necessary
do_rsa1_keygen
do_rsa_keygen
do_dsa_keygen
echo -n $"Starting $prog:"
# initlog -c "$SSHD $OPTIONS" && success || failure
$SSHD $OPTIONS && success || failure
RETVAL=$?
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
echo
}
*省略
ssh_configファイルを修正します:/etc/ssh/ssh_config
*"Ciphers"でCTRを優先的に使う (openssh-3.7以降 openssh-5.5ではデフォルト)
*省略
ForwardAgent yes
*省略
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
*省略
sshd_configファイルを修正します*"Protocol2 PubkeyAuthentication"による認証を許可しています
*公開鍵認証のパスフレーズはローカルだけで使用されnet上を流れない
*suでrootになるためのパスワードはnet上を流れます
*rootログインの許可は、個人の判断でお願いします
自動起動スクリプトをonにし、sshdを起動します# chkconfig --add sshd # service sshd start
tcp_wrappersで制御します:/etc/hosts.allowに追加します
*tcp_wrappersで制御されるもので/etc/hosts.allowの既述以外は全て拒否されます
ALL: 127.0.0.1 sshd: ALL
:/etc/hosts.deny
ALL: ALL
selinuxへの対応:/etc/pam.d/sshd
*selinuxパッチを当てない場合
#%PAM-1.0 auth required pam_stack.so service=system-auth auth required pam_nologin.so account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_selinux.so close session required pam_stack.so service=system-auth session required pam_selinux.so multiple open
:新規インストールファイルのselinuxラベルを修正
# restorecon -Rv /etc # restorecon -Rv /usr/local # restorecon -Rv /var/empty # restorecon -RFv /home
iptablesの設定Netfilter (iptables) で制御している場合、ポートを開けてください
*WAN側からはport722、LAN側からはport22で接続します
![]() |
Copyright(c) 528p.com All Rights Reserved. |

