OpenSSH 6.5p1(RPM)

提供: あべたけの覚え書き
移動: 案内検索

RPMも参照の事。

準備

[root@XXXXX ~]# yum install openssl-devel
[root@XXXXX ~]# yum install tcp_wrappers-devel
[root@XXXXX ~]# yum install pam-devel


削除

[root@XXXXX ~]# yum -y remove openssh


RPM の作成・インストール

  1. ソースの取得
    [root    @XXXXX ~  ]# su - rpmdevel
    [rpmdevel@XXXXX ~  ]$ cd ~/src
    [rpmdevel@XXXXX src]$ wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz
    [rpmdevel@XXXXX src]$ tar zxvf openssh-6.1p1.tar.gz


  2. ソースの解凍
    [rpmdevel@XXXXX ~  ]$ cd ~/src
    [rpmdevel@XXXXX src]$ tar zxvf openssh-6.1p1.tar.gz


  3. spec編集
    [rpmdevel@XXXXX src]$ vi openssh-6.1p1/contrib/redhat/openssh.spec
     
    %define no_x11_askpass 0%define no_x11_askpass 1         ← (変更)x11_askpassの無効化
     
    %define no_gnome_askpass 0%define no_gnome_askpass 1       ← (変更)gnome_askpassの無効化
     
    %configure \
    --without-zlib-version-check \   ← (追加)zlibのバージョンチェック無効化


  4. ビルド用に再圧縮
    1. openssh-6.1p1/contrib/ 以下の、redhat以外のディレクトリを削除
      [rpmdevel@XXXXX ~      ]$ cd ~/src/openssh-6.1p1/contrib
      [rpmdevel@XXXXX contrib]$ rm -rf aix/
      [rpmdevel@XXXXX contrib]$ rm -rf hpux/
      [rpmdevel@XXXXX contrib]$ rm -rf caldera/
      [rpmdevel@XXXXX contrib]$ rm -rf suse/
      [rpmdevel@XXXXX contrib]$ rm -rf cygwin/
      [rpmdevel@XXXXX contrib]$ rm -rf solaris/


    2. 再圧縮
      [rpmdevel@XXXXX ~  ]$ cd ~/src
      [rpmdevel@XXXXX src]$ tar zcvf openssh-6.1p1.tar.gz openssh-6.1p1/


  5. RPM作成
    [rpmdevel@XXXXX ~  ]$ cd ~/src
    [rpmdevel@XXXXX src]$ rpmbuild -tb --clean openssh-6.1p1.tar.gz


  6. インストール
    [rpmdevel@XXXXX ~   ]$ cd /home/rpmdevel/rpm/RPMS/i686
    [rpmdevel@XXXXX i686]$ sudo rpm -Uvh openssh-6.1p1-1.i686.rpm
    [rpmdevel@XXXXX i686]$ sudo rpm -Uvh openssh-server-6.1p1-1.i686.rpm
    [rpmdevel@XXXXX i686]$ sudo rpm -Uvh openssh-clients-6.1p1-1.i686.rpm


  7. 起動テスト
    [root@XXXXX ~]# /etc/rc.d/init.d/sshd start
     Starting sshd:           [ OK ]


  8. 自動起動設定
    [root@XXXXX ~]# chkconfig sshd on


設定

  1. sshd_confの設定
    [root@XXXXX ~]# vi /usr/local/ssh/etc/sshd_config
     
     # Port 22
    ↓
    Port 22
     
     # SyslogFacility AUTH
    ↓
    SyslogFacility AUTH
     
     # PermitRootLogin yes
    ↓
    PermitRootLogin no                ← rootでのログインを禁止
     
     # PasswordAuthentication yes
    ↓
    PasswordAuthentication no         ← パスワードでのログインを禁止(鍵方式によるログインのみ許可)
     
     # PermitEmptyPasswords no
    ↓
    PermitEmptyPasswords no           ← パスワードなしでのログインを禁止


  2. 起動スクリプトのコピー
    ソースの中にある起動スクリプトをコピーする
    [root@XXXXX ~]# cp /usr/local/src/openssh-6.1p1/contrib/redhat/sshd.init /etc/rc.d/init.d/sshd


  3. 起動スクリプトの編集
    OpenSSH 5.9p1のデフォルト起動スクリプト
    [root@XXXXX ~]# vi /etc/rc.d/init.d/sshd
     
    SSHD=/usr/sbin/sshd
    ↓
    SSHD=/usr/local/ssh/sbin/sshd

    start()の中

    /usr/bin/ssh-keygen -A/usr/local/ssh/bin/ssh-keygen -A


  4. 起動スクリプトの登録
    [root@XXXXX ~]# chkconfig --add sshd
    [root@XXXXX ~]# chkconfig sshd on
    [root@XXXXX ~]# chkconfig --list sshd
    sshd            0:off   1:off   2:off   3:on    4:on    5:on    6:off


鍵の作成

  1. 一般ユーザーで作成する
    [root@XXXXX ~]# su - hoge
    [hoge@XXXXX ~]$ /usr/local/ssh/bin/ssh-keygen -t rsa                   ← SSH2で公開鍵・秘密鍵を作成
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ← 鍵のファイル名を入力(空EnterでOK)
    Created directory '/home/hoge/.ssh'
    Enter passphrase (empty for no passphrase):                  ← パスフレーズの入力
    Enter same passphrase again:                                 ← パスフレーズの再入力
    Your identification has been saved in /home/hoge/.ssh/id_rsa.
    Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
    The key fingerprint is:
    ~鍵情報が表示される~


  2. 作成された鍵の確認
    [hoge@XXXXX ~]$ cd .ssh
    [hoge@XXXXX ~]$ ls -la
    合計 16
    drwx------   2 XXXXX XXXXX 4096  38 21:22 .
    drwx------  16 XXXXX XXXXX 4096  38 20:33 ..
    -rw-------   1 XXXXX XXXXX  951  38 21:22 id_rsa      ← 秘密鍵
    -rw-r--r--   1 XXXXX XXXXX  241  38 21:22 id_rsa.pub  ← 公開鍵


  3. 公開鍵の名前の変更
    • authorized_keysが既存の場合
      [hoge@XXXXX ~]$ cd ~/.ssh
      [hoge@XXXXX ~]$ cat id_rsa.pub >> authorized_keys 
      [hoge@XXXXX ~]$ rm -f ~/.ssh/id_rsa.pub                                 ← 元の鍵を削除
    • authorized_keysがない場合
      [hoge@XXXXX ~]$ cd ~/.ssh
      [hoge@XXXXX ~]$ mv id_rsa.pub authorized_keys


  4. 公開鍵の権限の変更
    [root@XXXXX ~]# chmod 400 ~/.ssh/authorized_keys


  5. フロッピーにコピー
    id_rsaファイルをフロッピーにコピーする。
    フロッピーのマウント
    [root@XXXXX ~]# cp /home/hoge/.ssh/id_rsa /mnt/floppy


フロッピーにコピーされたid_rsaファイルを使用してPuTTyの接続設定を行う。