ssh

 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 ]

投票数:1 平均点:10.00

 
Back to Top