LinkStation LS-QLのハードディスクをデータ復旧するために、Ubuntuを使うことにしました。
Ubuntuは一時的な利用で、ずっと使う訳では無いので、環境としてはCDで起動するレスキューCDタイプのUbuntuが理想です。
更に言うと、別のパソコン(Windows)からリモートログイン(telnet/ssh)できた方が、ディスプレイ(モニター)を専有してしまわなくて便利です。
本記事では、レスキュー用Ubunutuにリモートログインする環境の作り方、とくにtelnetを使えるようにするにはどうするか? 意外な解決方法について解説します。
telnet対象となるUbuntuの準備
Linuxには沢山の種類がありますが、フリーで使えて高機能、多くのNASで採用しているxfsというファイルシステムにも対応していて、インターネットに情報が多いという条件を満たすものは「Ubuntu」でした。
ところがこのUbuntu、Ubuntuの最新版は大きくて、もはやCD-Rでは入りきらないのです。
そこで、少し古いUbuntu(12.0系)を選んでCD-Rに焼きました。
しかし、私のcore-i5デスクトップパソコンで、このUbuntuを立ち上げようとしたところ、
udevd[160]: timeout: killing '/sbin/modprobe -bv pci:v00008086d00000116sv0000146sd0000108Dbc03sc00i00' [192]
udevd[160]: timeout: killing '/sbin/modprobe -bv pci:v00008086d00000116sv0000146sd0000108Dbc03sc00i00' [192]
udevd[160]: timeout: killing '/sbin/modprobe -bv pci:v00008086d00000116sv0000146sd0000108Dbc03sc00i00' [192]
udevd[160]: timeout: killing '/sbin/modprobe -bv pci:v00008086d00000116sv0000146sd0000108Dbc03sc00i00' [192]
udevd[160]: timeout: killing '/sbin/modprobe -bv pci:v00008086d00000116sv0000146sd0000108Dbc03sc00i00' [192]
こんなメッセージが延々と・・・。これ、ハード的に対応出来ていない証拠です。
諦めて、DVD-Rに 14.x系のUbuntu bootable-DVDを作りました。
14.x系のUbuntuは、すんなりcore-i5のパソコンから立ち上がりました。
成功です!
DVD-Rを使う方法以外に、USBを使う方法もオススメです。
こちらは別記事にて紹介しています。
以上で今回telnetログイン出来るようにするUbuntuの準備は完了です。
Ubuntuのtelnet化(リモートログインを可能に)
Ubuntuが使えるようになったので、このUbuntuのtelnetなどでリモートログイン出来るようにして、環境を整えます。
試行錯誤した結果、telnetではなくsshを使うことにしたのですが、Ubuntuのtelnet/ssh化の手順を順を追って説明します。
telnetクライアントソフトの選定
telnetコマンドは一部のWindows OSでは標準でインストールされていて、そのまま使えますが、viエディターを使う時に画面が乱れることが多く、専用のアプリケーションを使うことを推奨します。
Windowsから使う時は「TeraTerm」が安定していて使いやすく、便利です。
かなり古いソフトウェアで、様々なバージョンが存在しますが、窓の社に公開されているバージョンがUbunutu/Linuxで必要なUTF-8に対応したバージョンなので、こちらを使いましょう。
「Tera Term」定番のターミナルエミュレーター - 窓の杜
Ubuntuにtelnetログイン用のパスワードを付ける
レスキュー用のUbuntuは、最初に立ち上げた時点では、各ユーザにログインパスワードが設定されていません。
ログインパスワードが無いと、telnet/sshでリモートログインすることが出来ません。
そのままリモートログイン出来ることもありますが、家庭内環境と言えどもセキュリティ対策は重要なので、ログインパスワードは設定しておきましょう。
# passwd [ユーザ名]
で指定したユーザにパスワードを設定出来ます。
また、rootアカウントには制限がかかっている場合があるので、リモートログイン用の一般ユーザも追加しておきましょう。
# adduser [ユーザ名]
で追加出来るので、追加し、こちらも確実にパスワードを設定しておきましょう。
Ubuntuへtelnetdのインストール
Ubuntuは標準ではtelnetd(telnet用のサーバソフトウェア)が入っていません。
そのため、telnetdのパッケージをapt-getコマンドで追加します。
# apt-get install telnetd
E: Unable to locate package telnetd
いきなりエラーでtelnetdのインストールが出来ません。
関連しそうな xinetd や netutils などを次々と入れてみますが、エラーは消えません。
さらに試行錯誤しましたが、この解決は厳しそうでした。
理由として、Ubuntuがセキュリティ対策としてtelnetを撤廃しようとしているという動きがあります。
telnetは平文でコマンドや結果が流れてしまうため、今のインターネット社会には合わないということです。
そこで、Ubuntuとしてはtelnetに対するサポートも止めた様です。
ここは無理をせず、telnet以外のリモートログイン方法を使うことにしました。
TeraTermでそのまま使える方法が「ssh」です。
Ubuntuへsshのインストール
Ubuntuでtelnetを使うことを諦め、sshを代用で使うことにしたため、次の準備としてsshをUbuntuにインストールします。
こちらもapt-getコマンドを使います。
# apt-get install ssh
ほぼ、これだけで使えるようになりますが、追加のパッケージを求められることがあります。
私が使ったUbuntuのバージョンでは以下のコマンドが追加で必要でした。
apt-get -y install openssh-client
apt-get -y install ncurses-term
apt-get -y install ssh-import-id
apt-get -y install openssh-server
apt-get update
apt-get -y install openssh-server
ポイントは行き詰ってしまったら apt-get update を実行してみることです。
updateをかけることで不具合が修正されて、次に進めるようになります。
初期セットアップ時にrootは許可しないようにしましょう。
ubuntu というユーザIDが一般アカウントとして存在しているので、パスワードを設定して、リモートログイン用のユーザとして使うのがオススメです。
Windowsパソコンからログインする時は TeraTerm が使えます。
以上、Ubuntuをリモートログインで使うにはtelnetを早々に諦めて「SSHを使う」がポイントでした!
今回はUbuntuの話題のみでしたが、LinkStationのHDDが壊れてEMモードにすらならずにハマってしまったけれど、Linux/Ubuntuの機能を駆使して完全復旧させた私の体験の一部始終を以下の記事にてまとめています。
よろしければこちらも参考にどうぞ!
コメント