綾小路龍之介の素人思考

Vine Linux > SSH関係の諸々メモ

OpenSSHサーバはVine Linuxにインストール。OpenSHHクライアントもVine Linuxにインストール。あとSSHクライアントとしてWindows 2000にインストールしたPutty。これらについてのメモ。

目次

openssh-serverのインストール

VineをテキストモードBaseSystemでインストールした時は、sshサーバさえも入ってない。というわけでまずはインストール。サーバ以外は今のところ不要なのでインストールしない。

[root@remote]# apt-get install openssh-server

インストールが終わったら設定。

sshデーモンの設定、sshd_configを編集する。

パスワード認証を不許可、rootログインを不許可、空パスワードを不許可、ログインユーザを絞る。それぞれ、/etc/ssh/sshd_config中の該当の項目を書き換えるか、追記すればいい。終わったら、sshdの再起動。

[root@remote]# echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
[root@remote]# echo "PermitRootLogin no"        >> /etc/ssh/sshd_config
[root@remote]# echo "PermitEmptyPasswords no"   >> /etc/ssh/sshd_config
[root@remote]# echo "AllowUsers hoge"           >> /etc/ssh/sshd_config
[root@remote]# /etc/init.d/sshd restart

[chkconfig] sshデーモンの設定、マシン起動時にデーモンが立ち上がるようにする。

インストールしただけで起動する設定になってたけど一応確認。chkconfigで確認できる。

[root@remote]# chkconfig --list

もし、2と3と4と5がonでない時はこうする。

[root@remote]# chkconfig sshd on

確認が取れたら起動。

[root@remote]# /etc/init.d/sshd start

心配だったら再起動でもいい。rootでシャットダウンしないと最後まで切れない。

[root@remote]# shutdown -h now

公開鍵認証のまとめ、鍵交換の必要性

重要な視点は何かというと、鍵ペアはどこで作ってもいいということだ。秘密鍵を守るためにはlocalで作るのが良いが、鍵の持ち運び経路が信頼できるならどこで作ってもいい。鍵ペアによる認証とは、「アカウントに登録された公開鍵に対応した秘密鍵を持っている人」だけがログインできるようにする、認証方式だからだ。従って、「どこか」で作った鍵ペアの内、公開鍵をSSHサーバの鍵リストに登録して、秘密鍵をSSHクライアントと一緒にしておいてSSH通信の特に使えるようにしておかねばならない。

[ssh-keygen] OpenSSHのssh-keygenで鍵ペアを作る

sshd_configにてパスワード認証を不許可にした場合には、秘密鍵を持っていないとログインできない。sshd_configを書き換えたらすぐにやっておくこと。鍵の種類はrsa、長さはデフォルト(確か2084ビット)、パスフレーズ(ログインパスワードにあらず。パスフレーズはログインパスワードと同じである必要はない。)を指定、生成された秘密鍵と公開鍵を確認、公開鍵を自分の鍵輪に追加、秘密鍵をクライアントPCにコピー、クライアントから接続確認。

まずはSSH2のRSA鍵を作るコマンドを叩いた。途中でどこに保存するか聞かれたので、id_rsa_remoteとしておいた。パスフレーズはログインに使うパスワードと同じである必要は無い。どちらかといえば違っていたほうがいいと思う。最後にファイルができたか確認。これでhogeさんの公開鍵と秘密鍵ができた。

[hoge@local]$ ssh-keygen -t rsa
[hoge@local]$ ls -l ~/.ssh/

できた公開鍵をフロッピーにコピーして、remoteに持っていった。

[hoge@local hoge]$ su -
[root@local root]# mount /dev/fd0 /mnt/
[root@local root]# cp /home/hoge/.ssh/id_rsa_remote.pub /mnt/
[root@local root]# chown hoge /mnt/id_rsa_remote.pub
[root@local root]# chgrp hoge /mnt/id_rsa_remote.pub
[root@local root]# umount /mnt/
[root@local root]# exit
[hoge@remote hoge]$ su -
[root@remote root]$ mount /dev/fd0 /mnt/
[root@remote root]# mv /mnt/id_rsa_remote.pub /home/hoge/.ssh/
[root@remote root]# umount /mnt/
[root@remote root]# chown hoge /home/hoge/.ssh/id_rsa_remote.pub
[root@remote root]# chgrp hoge /home/hoge/.ssh/id_rsa_remote.pub
[root@remote root]# chmod 644  /home/hoge/.ssh/id_rsa_remote.pub

remoteでlocalの公開鍵をauthorized_keysに登録した。

[hoge@remote hoge]$ cat ~/.ssh/id_rsa_remote.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_rsa >> ~/.ssh/authorized_keys
$ mkdir ./mnt/
$ su
# mount /dev/fd0 ./mnt/
# exit
$ cp ~/.ssh/id_rsa ./mnt/
$ su
# umount ./mnt/
# exit

ssh-keygenだけでもOK、鍵の種類のデフォルトはRSAだから。フロッピードライブつけといてね。フロッピーにコピーした秘密鍵をputty.exeで使うために変換した。そのためのソフトがputtygen.exe。鍵の種類を選んで、LOADボタンでフロッピーディスク内の秘密鍵を選択、秘密鍵のセーブをSave Private Keyで行った。putty.exeで接続するときはセーブした秘密鍵を指定しておくことを忘れなく。

OpenSSHクライアントでOpenSSHサーバへログイン(鍵交換、公開鍵認証)

惑いの午後。さて、計算に必要なCPUパワーの捻出に別マシンをつかうことを考えてみた。そこで、いつも使ってるサーバよりもスペックのいいマシンにOpenSSHサーバとクライアントをインストール。そして、接続するまで。どっちのマシンにもOpenSSHのサーバとクライアントが導入済み。hogeさんが、hogeA@comAとしてhogeB@comBに接続しに行く。

まずhogeさんはcomAの前でコマンドを叩いて、hogeA@comAの公開鍵をフロッピーにコピーした。

[hogeA@comA]$ mount /dev/fd0 /mmn/floppy
[hogeA@comA]$ cp ~/.ssh/id_rsa_comA.pub /mmn/floppy
[hogeA@comA]$ umount /mmn/floppy

次にhogeさんはcomBの前でコマンドを叩いて、フロッピーに保存したhogeA@comAの公開鍵をhogeB@comBのauthorized_keysに追加し、hogeB@comBの秘密鍵をフロッピーディスクにコピーした。

[hogeB@comB]$ mount /dev/fd0 /mmn/floppy
[hogeB@comB]$ cat /mnt/floppy/id_rsa_comA.pub >> ~/.ssh/authorized_keys
[hogeB@comB]$ cp ~/.ssh/id_rsa_comB /mmn/floppy
[hogeB@comB]$ umount /mmn/floppy

次にhogeさんはcomAの前でコマンドを叩いて、hogeB@comBの秘密鍵を~/.ssh/にコピーし、hogeAからhogeB@comBに接続確認した。

[hogeA@comA]$ mount /dev/fd0 /mmn/floppy
[hogeA@comA]$ cp /mmn/floppy/id_rsa_comB ~/.ssh/
[hogeA@comA]$ umount /mmn/floppy
[hogeA@comA]$ ssh hogeB@comB

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2003-10-25T17:54:18+09:00
  2. Modified: 2003-10-25T13:45:44+09:00
  3. Generated: 2017-07-09T23:09:23+09:00