Telnetサーバーインストール
[root@falcon21 ~]# yum -y install telnet-server
[root@falcon21 ~]# chkconfig telnet on
[root@falcon21 ~]# /etc/rc.d/init.d/xinetd restart
xinetd を停止中: [ OK ]
xinetd を起動中: [ OK ]
一旦、SSHサーバーアンインストール
[root@falcon21 ~]# /etc/rc.d/init.d/sshd stop
[root@falcon21 ~]# yum -y remove openssh
**********************
これで、やっと、telnet が接続できた。
VNC起動接続できた
[root@falcon21 ~]# vncserver :1
[root@falcon21 ~]# vi .vnc/xstartup
#twm &
gnome-session &
---
SSHサーバー再インストール
[root@falcon21 ~]# yum -y install pam-devel
[root@falcon21 ~]# wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
[root@falcon21 ~]# tar zxvf openssh-7.5p1.tar.gz
[root@falcon21 ~]# vi openssh-7.5p1/contrib/redhat/openssh.spec
%define no_x11_askpass 0
↓
%define no_x11_askpass 1
%define no_gnome_askpass 0
↓
%define no_gnome_askpass 1
%configure \
configure --without-zlib-version-check \ ← 追加
--------
[root@falcon21 ~]# rm -rf openssh-7.5p1/contrib/aix/
[root@falcon21 ~]# rm -rf openssh-7.5p1/contrib/hpux/
[root@falcon21 ~]# rm -rf openssh-7.5p1/contrib/caldera/
[root@falcon21 ~]# rm -rf openssh-7.5p1/contrib/suse/
[root@falcon21 ~]# rm -rf openssh-7.5p1/contrib/cygwin/
[root@falcon21 ~]# rm -rf openssh-7.5p1/contrib/solaris/
[root@falcon21 ~]# tar czvf openssh-7.5p1.tar.gz openssh-7.5p1/
[root@falcon21 ~]# rm -rf openssh-7.5p1
[root@falcon21 ~]# rpmbuild -tb --clean openssh-7.5p1.tar.gz
エラー: ビルド依存性の失敗:
openssl-devel は openssh-7.5p1-1.i686 に必要とされています
krb5-devel は openssh-7.5p1-1.i686 に必要とされています
[root@falcon21 ~]# yum -y install krb5-devel
[root@falcon21 ~]# rpmbuild -tb --clean openssh-7.5p1.tar.gz
エラー: ビルド依存性の失敗:
openssl-devel は openssh-7.5p1-1.i686 に必要とされています
[root@falcon21 ~]# yum -y install openssl-devel
[root@falcon21 ~]# rpmbuild -tb --clean openssh-7.5p1.tar.gz
書き込み完了: /root/rpmbuild/RPMS/i686/openssh-7.5p1-1.i686.rpm
書き込み完了: /root/rpmbuild/RPMS/i686/openssh-clients-7.5p1-1.i686.rpm
書き込み完了: /root/rpmbuild/RPMS/i686/openssh-server-7.5p1-1.i686.rpm
書き込み完了: /root/rpmbuild/RPMS/i686/openssh-debuginfo-7.5p1-1.i686.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.l1UqSs
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd openssh-7.5p1
+ rm -rf /root/rpmbuild/BUILDROOT/openssh-7.5p1-1.i386
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.51pl1b
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf openssh-7.5p1
+ exit 0
[root@falcon21 ~]# rpm -Uvh /root/rpmbuild/RPMS/i686/openssh-7.5p1-1.i686.rpm
準備中... ########################################### [100%]
1:openssh ########################################### [100%]
[root@falcon21 ~]# rpm -Uvh /root/rpmbuild/RPMS/i686/openssh-clients-7.5p1-1.i686.rpm
準備中... ########################################### [100%]
1:openssh-clients ########################################### [100%]
[root@falcon21 ~]# rpm -Uvh /root/rpmbuild/RPMS/i686/openssh-server-7.5p1-1.i686.rpm
準備中... ########################################### [100%]
1:openssh-server ########################################### [100%]
----
作成したRPMを削除
[root@falcon21 ~]# rm -f /root/rpmbuild/RPMS/i686/openssh-*
[root@falcon21 ~]# rm -f openssh-7.5p1.tar.gz
SSHサーバー起動
[root@falcon21 ~]# /etc/rc.d/init.d/sshd start
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
Starting sshd: [ OK ]
[root@falcon21 ~]# chkconfig sshd on
[root@falcon21 ~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Telnetサーバー削除
[root@falcon21 ~]# chkconfig telnet off
[root@falcon21 ~]# /etc/rc.d/init.d/xinetd restart
xinetd を停止中: [ OK ]
xinetd を起動中: [ OK ]
[root@falcon21 ~]# yum -y remove telnet-server
---------------
SSHサーバー設定
[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
[root@falcon21 ~]# vi /etc/ssh/sshd_config
#SyslogFacility AUTH
↓
SyslogFacility AUTHPRIV
#PermitRootLogin prohibit-password
PermitRootLogin no
#PasswordAuthentication yes
PasswordAuthentication no
#PermitEmptyPasswords no
PermitEmptyPasswords no
------
弱い暗号方式を使用しないようにする
[root@falcon21 ~]# echo Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com >> /etc/ssh/sshd_config
[root@falcon21 ~]# echo Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com >> /etc/ssh/ssh_config
[root@falcon21 ~]# echo MACs hmac-sha2-256,hmac-sha2-512,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com >> /etc/ssh/sshd_config
[root@falcon21 ~]# echo MACs hmac-sha2-256,hmac-sha2-512,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com >> /etc/ssh/ssh_cofig
[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
------
管理者用ユーザーを除いてホームディレクトリ以外を参照できないようにする。
chroot設定
[root@falcon21 ~]# usermod -G wheel hayato 管理者用
[root@falcon21 ~]# vi /etc/ssh/sshd_config
最終行へ追加
Match Group *,!wheel
ChrootDirectory /home/%u/./
------
SSHサーバー設定反映
[root@falcon21 ~]# /etc/rc.d/init.d/sshd reload
sshd を再読み込み中: [ OK ]
[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
----
chrootユーザー作成スクリプト
[root@falcon21 ~]# mkdir -p ~/bin
[root@falcon21 ~]# vi ~/bin/chroot-useradd
#!/bin/bash
#
# Usage: ./chroot-useradd username [shell]
#
# Here specify the apps you want into the enviroment
CMD="bash ls touch mkdir cp mv rm pwd chmod cat vi id rsync ssh scp sftp ping ssh-keygen perl"
APPS=`which $CMD`
APPS="${APPS} /usr/libexec/openssh/sftp-server"
# Sanity check[
if [ "$1" = "" ] ; then
echo " Usage: ./chroot-useradd username [shell]"
exit 1
fi
# Obtain username and HomeDir
CHROOT_USERNAME=$1
if [ "$2" = "" ] ; then
useradd $CHROOT_USERNAME
else
useradd -s $2 $CHROOT_USERNAME
fi
chown root:root /home/$CHROOT_USERNAME
chmod 755 /home/$CHROOT_USERNAME
usermod -d /home/$CHROOT_USERNAME/./ $CHROOT_USERNAME
passwd $CHROOT_USERNAME
rm -f /home/$CHROOT_USERNAME/.* > /dev/null 2>&1
cd /home/$CHROOT_USERNAME/./
# Create Directories no one will do it for you
mkdir -p etc
mkdir -p bin
mkdir -p usr/bin
mkdir -p usr/local/bin[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
mkdir -p usr/libexec/openssh
MAKEDEV -d dev -x null zero
# Create short version to /usr/bin/groups
# On some system it requires /bin/sh, which is generally unnessesary in a chroot cage
echo "#!/bin/bash" > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
chmod 755 usr/bin/groups
# Add some users to ./etc/paswd
grep /etc/passwd -e "^root" -e "^$CHROOT_USERNAME" > etc/passwd
grep /etc/group -e "^root" -e "^$CHROOT_USERNAME" > etc/group
[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
# Copy the apps and the related libs
for prog in $APPS;
do
cp $prog ./$prog
# obtain a list of related libraryes
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS;
do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l > /dev/null 2>&1[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
done
fi
done
# From some strange reason these 4 libraries are not in the ldd output, but without them
# some stuff will not work, like usr/bin/groups
cp /lib/libnss_compat.so.2 lib/
cp /lib/libnsl.so.1 lib/
cp /lib/libnss_files.so.2 lib/
cp /lib/ld-linux.so.2 ./lib/
cp /lib/libc.so.6 lib/
cp /lib/libm.so.6 lib/
cp /lib/libpthread.so.0 lib/[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
cp /lib/librt.so.1 lib/
cp /lib/libthread_db.so.1 lib/
exit 0
-----------
[root@falcon21 ~]# chmod u+x ~/bin/chroot-useradd
[root@falcon21 ~]# chroot-useradd ユーザー名
[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
----------------
TeraTerm SSH鍵生成
「設定」⇒「SSH鍵生成」で、鍵ペア(公開鍵/秘密鍵)を作成
「生成」ボタンを押すと、「鍵を生成しました。」と表示されるので、
「鍵のパスフレーズ」に任意のパスワードを入力
「パスフレーズの確認」に任意のパスワード(確認)を入力
「公開鍵の保存」をクリックし、適当な名前で公開鍵を保存する
「秘密鍵の保存」をクリックし、適当な名前で秘密鍵を保存する
作成した鍵ペアのうちの公開鍵をサーバーにセットアップ
[root@falcon21 ~]# su - hayato
[hayato@falcon21 ~]$ mkdir -p ~/.ssh
[hayato@falcon21 ~]$ chmod 700 ~/.ssh
[hayato@falcon21 ~]$ vi ~/.ssh/authorized_keys
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
クライアント側で作成した公開鍵の中身を全てコピー
[hayato@falcon21 ~]$ chmod 600 ~/.ssh/authorized_keys
[hayato@falcon21 ~]$ exit
logout
[root@falcon21 ~]#
---[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
SSHサーバーへ鍵方式でログイン
メニューの「設定」⇒「SSH認証」で、SSH認証方式を設定
「ユーザー名」⇒ユーザー名を入力
「RSA/DSA鍵を使う」を選択
「秘密鍵」ボタン押下⇒鍵ペア作成時に保存した秘密鍵を選択
「OK」ボタン押下
[root@falcon21 certs]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
メニューの「ファイル」⇒「新しい接続」
「ホスト」⇒サーバーIPアドレスを入力
「OK」ボタン押下
ログイン認証 ・・・続行
「パスフレーズ」⇒鍵ペア作成時に指定したパスワードを入力
「OK」ボタン押下
何故か、ログインできない。
パスワードログインに戻す
[root@falcon21 ~]# vi /etc/ssh/sshd_config
PasswordAuthentication yes に戻す。
[root@falcon21 ~]# /etc/rc.d/init.d/sshd reload
sshd を再読み込み中: [ OK ]