telnetでリモートログインが出来ない


私がセットアップしたMac OS X Serverでは、GUIからの設定だけではtelnetでリモートログインできませんでした。今回はその時行った対応を紹介します。セットアップしたマシンはPowerMacintoshG3DT266改(466)+AdaptecPowerDomain2940U2W+Quantum AL5-18300LWになります。他の組み合わせでは同様の現象は出ないかもしれません。

以下はそのときの現象です。

  1. 通常にインストール終了後、【システム環境設定】の【共有】パネルで【リモートログインを許可する】をオンにしました。
  2. 次にServerAdminを起動して【U & G】の中の【ユーザとグループのリストを表示】から新しくユーザを作成し、そのユーザに【ユーザにログインを許可する】をオンにしました。
  3. この状態で、他のマシンからtelnetでログインを試みても受け付けてくれませんでした。

    Trying 210.xxx.xxx.xxx...
    telnet: Unable to connect to remote host: Connection refused

  4. OSの再インストールをしても状況は変わらなかったので、原因を探ると/etc/inetd.confの設定に問題が有ったようです。

    『ここで今回のコマンドの説明』
    ここで登場するコマンドは【cd】と【cp】です。

    【cd】はディレクトリの移動を行います。たとえば、プロンプトが[localhost:~] root#の場合最上位の階層にいます。ここで下記のように入力し、リターンキーを押すと/Users/david/Documentsに移動できます。

    [localhost:~] root#cd /Users/david/Documents
    [localhost:/Users/david/Documents] root#

    最上位に戻るには

    [localhost:/Users/david/Documents] root#cd
    [localhost:~] root#cd

    【cp】はコピーするときに使うコマンドです。/Users/david/Documentsにあるtest.txtを/Users/Sharedにコピーする場合以下のように入力しリターンキーを押します。
    [localhost:/Users/david/Documents] root#cp test.txt /Users/Shared/test.txt

    また同じ階層に違う名前でバックアップを取る場合は、以下のように入力しリターンキーを押します。
    [localhost:/Users/david/Documents] root#cp test.txt test.txt.org
    これで同じ階層にtest.txt.orgと言うファイルが作られます。

今回はこんな風に対処しました。

  1. まずTerminalを起動してsuになり、ディレクトリ/etcに移動します。

    [localhost:~] david% su
    Password:
    [localhost:/Users/david] root# cd /etc

  2. そこで【inetd.conf】オリジナルをバックアップしました。

    [localhost:/etc] root# cp inetd.conf inetd.conf.org

    【cp】はコピーコマンドです。上記では【inetd.conf】を同じディレクトリ内に【inetd.conf.org】という名前でコピー(バックアップ)しています。

  3. ここでちゃんとバックアップがとれたか【ls -a】で確認しています。

    [localhost:/etc] root# ls -a
    . hostconfig~ monthly ssh_host_dsa_key
    .. hosts motd ssh_host_dsa_key.pub
    csh.login inetd.conf protocols ssh_prng_cmds
    csh.logout inetd.conf.org rc sshd_config
    daily kern_loader.conf rc.boot sudoers
    find.codes krb.conf rc.common syslog.conf
    [localhost:/etc] root#

    赤い文字のファイルがバックアップされた物です(ファイルの数は本来もっとたくさんありますが、省略しています)。configに失敗した場合これを元に復旧します。

  4. ftpの所にも書きましたが、私はバリバリのUNIXユーザではありません。またUNIXのテキストエディタ【vi】のインターフェイスもいまいちよく分かりませんので、ここでは一旦ファイルを自分のDocumentsフォルダにコピーして作業しています。私が通常使っているテキストエディタは【Jedit4】です。他のエディタでもかまいませんが、改行コード(UNIXはLFで、MacはCRです)の変換ができる物が必要です。また、行番号がだせる物が見やすく便利です。というわけで、自分のホームディレクトリ内のDocumentsフォルダにファイルをコピーします。

    [localhost:/etc] root# cp inetd.conf /Users/david/Documents/inetd.conf
    [localhost:/etc] root# cd /Users/david/Documents
    [localhost:/Users/david/Documents] root# ls -a
    .    ..   inetd.conf
    [localhost:/Users/david/Documents] root#

    【ls -a】コマンドで確認すると、上記のようにうまくコピーされました。赤い文字のファイルがコピーされたファイルです。

  5. コピーされた【inetd.conf】を【Jedit4】で開きます。ファイルを【Jedit4】のアイコンにドロップすれば開けます。この時改行コードをどうするかきかれますので、変換して開くを選択します。変換して開くを選ばないと、まったく改行してくれないので、作業がやりにくくなります。またこの時表示するフォントをOSAKA等幅など、等幅フォントを選んでおくとさらに見やすくなります。

  6. 14行目の#telnetで始まる行の#をはずして保存します。

  7. 書き換えたファイルを元の場所に戻します。

    [localhost:/Users/david/Documents] root# cd
    [localhost:~] root# cp /Users/david/Documents/inetd.conf /etc/inetd.conf
    [localhost:~] root#

  8. Terminalのログアウトをします。

    [localhost:~] root# exit
    exit
    [localhost:~] david% exit
    logout

    [Process completed]

  9. Terminalを終了させて、マシンを再起動させます。

以上の操作でtelnetを使い、リモートログインできるようになっているはずです。


戻る