CentOS6のセッティング

まさかすさんに薦められてLinuxCentOSのサーバを作ってるんですよ。うちのボロPCで。
まあまず部屋が散らかってるし汚いので掃除機ブン回してその辺からやっつけなきゃいけなかったんですが、なんとかハード面は片付きました。
そんな訳で行き当たりばったりでサーバのセッティングをしていきます。当然トラブル無しには進めないので、その辺を自分の覚書代わりにここに書いておきます。
こちら(http://centossrv.com/)に頼りながらの作業となります…。

クソいい加減な基本操作の覚え方

  • Tab連打してるとファイル名間違えない
  • viは起動したらとりあえずa押せばなんとかなる
  • 訳わかんなくなったらとりあえずCtrl+C

細けぇ事はいいんだよ!!!

OpenSSHパッケージを作る

http://centossrv.com/openssh.shtml ここの記事に従ってRPMパッケージを作ろうとしたけどRPMビルドエラーと出る。

警告: line 92: buildprereq is deprecated: BuildPreReq: glibc-devel, pam
エラー: ビルド依存性の失敗:
openssl-devel は openssh-6.5p1-1.i686 に必要とされています
krb5-devel は openssh-6.5p1-1.i686 に必要とされています

はいはいインストールしますよ。した。再ビルド。

checking for libwrap... configure: error: *** libwrap missing
エラー: /var/tmp/rpm-tmp.vaFu8u の不正な終了ステータス (%build)


RPM ビルドエラー:
line 92: buildprereq is deprecated: BuildPreReq: glibc-devel, pam
/var/tmp/rpm-tmp.vaFu8u の不正な終了ステータス (%build)

アアン!? glibc-develが必要…なのかな? って思ってインストールしようとしたら、既にインストールされてるよって言われた。なんぞ。

http://centossrv.com/bbshtml/webpatio/2478.shtml

同様のエラーで悩んでいました。

上記、strangerさんの回答を参考に修正した後、再度実行すると、
「checking for libwrap... configure: error: *** libwrap missing」とのエラーとなりました。
その後、「tcp_wrappers-devel」が足りないことが分かりyumでインストール後に再度実行することで、
インストールすることができました。

http://d.hatena.ne.jp/torazuka/20110612/ssh

sshdがlibwrapを必要とします。ここでは、実行ファイル(soファイル)はあるものの、コードがないので怒られていました。tcp_wrappers-develをインストールすると解決します。

この辺りも参考になりますね。

tcp_wrappers-develっていうのも足りなかった。よく見たらエラーにそう書いてますね。英語のところ。インストール。再々ビルド。

configure: error: PAM headers not found
エラー: /var/tmp/rpm-tmp.dXUH1f の不正な終了ステータス (%build)


RPM ビルドエラー:
line 92: buildprereq is deprecated: BuildPreReq: glibc-devel, pam
/var/tmp/rpm-tmp.dXUH1f の不正な終了ステータス (%build)

Linuxはこうでなくっちゃな(白目)
上記の記事にあるpam-develがそれっぽいのでインストール。再々々ビルド。

出来た!!!

で、作ったRPMファイルが行方不明…。ちょいと調べたら、やっぱりバージョンごとにあっちこっち違うみたいね。
http://report.station.ez-net.jp/software/linux/centos/rpm/build.asp

RPM パッケージが正しく作成されると、CentOS 5.3 (x64) では RPM パッケージは "/usr/src/redhat/RPMS/x86_64" ディレクトリにそれが保存されていました。

CentOS 6.0 (x64) では "/root/rpmbuild/RPMS/x86_64" ディレクトリになります。

ほーん。
ちなみにうちの場合はx86_64じゃなくてi686ってディレクトリになってました。なんだそれ?
http://kazmax.zpp.jp/linux/linux.html

i686 Pentium ProPentium IIPentium IIIPentium4Celeronなど。

CPUの種類か。

SSHサーバー起動スクリプトは、開いてみたら既に記事の通りに修正されてました。

公開鍵秘密鍵

http://centossrv.com/teraterm-public.shtml
TeraTermと公開鍵秘密鍵を使っての認証が何度やっても弾かれるんで、キーッてなってたら、どうもなんかこう、文字コードかなんかの問題かな?
この記事だと、鍵ファイルの中身をコピーして…みたいに書いてあるけど、文字列をクリップボードに移してやり取りすると、文字コードに手が加わるようで、つまるところ鍵が一致しなくなる模様。
http://centos.server-manual.com/centos6_ssh_teraterm_rsa.html

8.先ほど保存した「id_rsa.pub」をTeraTermの画面へドラッグ&ドロップ。
※ログインユーザーのホームディレクトリにid_ras.pubを転送。

9.「ファイル転送を行いますか?」で「SCP」をクリック。

10.「id_rsa.pub」が保存されていることを確認。

この手順だとカレントディレクトリとかsu -スイッチでrootになってるとか関係無しに最初にログインしたユーザのホームディレクトリにファイルが送信されるとの事。(参考 http://www.j-oosk.com/teraterm/file-transfer/318/
ここにあるように、ファイルを丸ごと転送してリネームしたらスパッと認証が通ったヨ。