TAKETYON宅で昨日作ったサーバにtelnet接続しようと思ったら、
telnetd: Authorization failed.
とか出てログイン画面すら出てこない。何故?
サーバPCを直接操作してrootでログインし、自分自身にtelnetしてみるとログインする前に下記のようなメッセージが出た。
Trying SRA secure login
ああ、やっぱクリアテキストつか、素のテキストで認証する状態になってないっぽい。あうあう。どこ直しゃいいんだ。
何か別のファイルで認証の設定してるのかと /etc/ttys に書いてある secure のキーワードを何らか変えるのか?とか、ttyp0 に関する記述が無いとか悩んだあげく、再び /etc/inetd.conf を見ると telnetd 呼び出してる部分が何か違う?古い NetBSD のサーバで設定比べてみると -a valid なんてのが付いてる。これかっ!
#telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a valid #telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd -a valid telnet stream tcp nowait root /usr/libexec/telnetd telnetd
てな訳で、-a valid を無くしてみたら、うまく Windows XP 標準の telnet から接続できたー。
とりあえずパッケージ追加に備えて、パッケージCDをマウントしておく。
mount -t cd9660 -o ro /dev/cd0a /mnt
よく色々な例で /mnt/cdrom ってやってるけど、作らないと無いんやね。とりあえず、/mnt はあるのでここにマウントしとく。
まずはヒストリとかファイル名補完とかほしいので、bashをインストールしてみる。
# cd /mnt/packages/i386/All # pkg_add bash-3.0pl16nb3.tgz missing: ./libexec/cgi-bin (created) =========================================================================== Adding shells from bash-3.0pl16nb3 to /etc/shells: /usr/pkg/bin/bash =========================================================================== #
あら、何か ./libexec とか作ろうとしてますよ?これはどっかの書き込みできるディレクトリを想定してるんかな?どこでやりゃいいんだろう??
/etc/shells にはちゃんと bash 追加してくれるんやね。