第2回 Slackware でサイキョーの自宅サーバーを作ろう! SSH 編

前回 Slackware を無事にインストールできました。今回は Slackware マシンに Windows からリモートログインしてみましょう。

そんなことして何になるかといえば、Windows 環境からコピー&ペーストができて便利、の一言に尽きます。コピペは非常に便利です。ちょっとしたデータのやりとりも、コピペが使えれば十分です。

まずは Slackware を起動しましょう。 ‘login: ‘ というプロンプトが表示されたら ‘root’ と入力し、インストール時に設定したパスワードを入力してログインして下さい。

さて、リモートログインを受け付けるデーモンは sshd という名前のプログラムですが、デフォルトの設定で自動起動します:

root@slackware:~# netstat -tulpn | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1476/sshd
tcp        0      0 :::22                   :::*                    LISTEN      1476/sshd

netstat コマンドで接続待ちの TCP/UDP ポートを表示し、 ‘sshd’ を含む行を抽出しました。sshd がすでに動いてることが分かります。

Slackware マシンの IP アドレスを調べましょう:

root@slackware:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:b1:a7:7a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.148/24 brd 192.168.3.255 scope global eth0
    inet6 fe80::a00:27ff:feb1:a77a/64 scope link
       valid_lft forever preferred_lft forever

‘lo’ はループバックインターフェースという特殊なネットワークインターフェースです。ここでは ‘eth0’ の ‘inet’ に注目しましょう。 192.168.3.148/24 と書いてありますが、これが slackware マシンの IP アドレスです (/24 はサブネットマスクです)。 ‘inet6’ は IPv6 のアドレスです。IPv6 はまだ本格的に使用されてないので、無視でいいでしょう。

では Windows から SSH クライアントで接続してみましょう。

Windows 用のクライアントソフトには putty とか teraterm とかがあります。僕は普段 Cygwin/X の xterm から ssh コマンドで接続してますが、そういうマニアックなことはせず、素直に putty を使ってみましょう。

ここから ‘putty.zip’ をダウンロードしてください:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

ダウンロードした zip を適当な場所に解凍してください。putty.exe という実行ファイルがあるので、起動してください。接続設定のダイアログが出てくるので、 ‘Host Name (or IP address)’ に先ほど調べた slackware マシンの IP アドレスを入力します:

‘Open’ をクリックすると、下のようなダイアログが出てきます:

これは接続先を間違えてないか確認するためのものです。 “はい” をクリックするとログインプロンプトが表示され、次回からこのダイアログは表示されなくなります。

さて、ssh 経由で root でログインしたら、一般ユーザを作成しましょう。root はスーパーユーザと呼ばれ、緊急時以外、このユーザでログインするのは忌むべきこととされています。

ユーザを追加するには、’useradd’ コマンドを使用します:

root@slackware:~# useradd -m -G wheel saikyo

ここでは ‘saikyo’ という名前のユーザを追加しました。

このユーザに ‘passwd’ コマンドでパスワードを設定しましょう:

root@slackware:~# passwd saikyo
Changing password for saikyo
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
passwd: password changed.

saikyo ユーザが一時的に root 権限を使用できるように、sudo の設定をしましょう。’visudo’ で ‘sudoers’ ファイルを編集します:

root@slackware:~# visudo

すると vi という最強のテキストエディタが起動します。 ‘j’ を押すとカーソルが下に、’k’ を押すと上に、’h’ を押すと左に、’l’ を押すと右に、’x’ を押すと一文字削除します。うまく下の行に辿り着いてください:

# %wheel ALL=(ALL) ALL

上の行を見つけたら、行頭の ‘# ‘ を削除して、以下のようにします:

%wheel ALL=(ALL) ALL

うまくできたら、 ‘ZZ’ (大文字の ‘Z’ を 2 回) と入力します。すると、vi が終了し、sudoers ファイルが再度読み込まれます。エラーになってしまったら、 ‘:q!’ (コロン、キュー、ビックリ) と入力すると編集作業を中止できます。再挑戦してください。

なお、この vi というエディタを使いこなすのはサーバ管理者の必須技能です。非常に高機能なエディタで、あらゆるコンフィグファイルを適切にシンタックスハイライトしてくれます。入力補完機能やフィルタ機能など便利な機能満載なので、マスターしましょう。オライリーの “入門 vi” は必読書です。

では saikyo ユーザで sudo が使えるかチェックします:

root@slackware:~# su saikyo -
saikyo@slackware:/root$ sudo ls /

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
bin   dev  home  lost+found  mnt  proc  sbin  sys  usr
boot  etc  lib   media       opt  root  srv   tmp  var

まず ‘su’ コマンドでスーパーユーザから saikyo ユーザに化けました。それから ‘sudo ls /’ で ls コマンドを root 権限で実行します。sudo がパスワードを聞いてくるので、saikyo ユーザのパスワードを入力します。うまくいけば ‘ls /’ の結果が表示されます。

これで root ユーザを使う機会は緊急時だけになりました。

次に、ssh の公開鍵を登録しましょう。パスワード認証というのは総当たり攻撃で破られる危険があり、セキュリティ的によくありません。ssh では普通、公開鍵認証という方法でログインします。あらかじめ公開鍵というものを slackware マシンに登録しておき、対になる秘密鍵は Windows マシンの中に置いておきます。

putty のフォルダに ‘puttygen.exe’ という実行ファイルがあるので、起動してください。画面が出たら、 ‘generate’ ボタンをクリックします。それからプログレスバーが満タンになるまでマウスをでたらめに動かします。これはランダムさを収集するための儀式です (疑似乱数だけだとセキュリティ的に云々ということでしょう)。

キーの作成が終わったら、保存しましょう。’Save public key’ ボタンをクリックし、’windows.id_rsa.pub’ みたいな名前を付けて保存してください。それから ‘Save private key’ をクリックします。’パスフレーズが設定されてないけど、いいの?’ というダイアログが出てきますが、 ‘はい’ と答えてください。

それから公開鍵の内容をクリップボードにコピーします。puttygen のウインドウ上部に表示されている文字列がそれです:

コピーした文字列を、putty にペーストしましょう。以下のようにコマンドを入力します:

saikyo@slackware:/root$ mkdir -m 700 ~/.ssh
saikyo@slackware:/root$ cat >> ~/.ssh/authorized_keys
【公開鍵をここに右クリックしてペーストする】
^D
saikyo@slackware:/root$ chmod 600 ~/.ssh/authorized_keys

‘^D’ は ‘コントロールキーを押しながら D を押す’ という意味です。

では公開鍵認証でログインできるか試してみましょう。putty のタイトルバーを右クリックし、 ‘New Session’ を選びます:

接続先の設定ダイアログが表示されるので、先ほどと同様、Slackware マシンの IP アドレスを入力します。それから左のペインで ‘Connection’ → ‘SSH’ → ‘Auth’ と選択し、先に作った秘密鍵を ‘Private key file for authentication:’ で選択します:

毎回このような設定をするのは大変面倒なので、設定を保存しましょう。左のペインの ‘Session’ をクリックし、’Saved Sessions’ に ‘Slackware’ と入力し、’Save’ をクリックします:

では保存されたセッション一覧から、今保存した ‘Slackware’ をダブルクリックしましょう。’logins as:’ と表示されるので、 ‘saikyo’ と入力してみましょう。すると、なんということでしょう、パスワードを聞かれることなくログインできてしまいました。

公開鍵認証でログインできるならパスワード認証は不要なので、sshd の設定を変更します。saikyo ユーザで以下のコマンドを実行します:

saikyo@slackware:~$ sudo vim /etc/ssh/sshd_config

vim (vi エディタのパワーアップ版) が sshd_config というファイルを開いてくれます。そのまま ‘/Password’ と入力し、エンターキーを押します。すると、’#PasswordAuthentication yes’ という行に導いてくれます。この行を以下のように書き換えます (文字を入力するには、 ‘i’ を押します。入力が終わったら、エスケープキーを押します):

PasswordAuthentication no

行頭の ‘#’ を削除し、’yes’ を ‘no’ に書き換えました。’ZZ’ と入力して、vim を終了します。

sshd を再起動します:

saikyo@slackware:~$ sudo /etc/rc.d/rc.sshd restart
WARNING: killing listener process only.  To kill every sshd process, you must
         use 'rc.sshd stop'.  'rc.sshd restart' kills only the parent sshd to
         allow an admin logged in through sshd to use 'rc.sshd restart' without
         being cut off.  If sshd has been upgraded, new connections will now
         use the new version, which should be a safe enough approach.

putty でslackware マシンに接続し、root ユーザでログインしてみて下さい。パスワードを聞かれる前に接続を切られるはずです。

これでリモートログインできるようになりました。よかったね!

(コウヅ)

第3回 Slackware でサイキョーの自宅サーバーを作ろう! 監視設定編

広告

第2回 Slackware でサイキョーの自宅サーバーを作ろう! SSH 編」への2件のフィードバック

  1. slackware, いいですね。さすがエリート。私はubuntuに浮気中ですが、頑張ってまたslackwareを使いたくなる記事でした。ありがとうございます。

    • コメントありがとうございます!ここに書いた記事が役立つ時が来るとは、感無量です。最近 slackware ネタの更新が滞ってますが、自宅サーバー編を完成させて slackware 信者の獲得に励みたいと思います。生温く見守っていただければ幸いです。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中