自分一人でSSHを使っている分には全然かまわないんですが、知り合いとか開発関係の兼ね合いでファイルの置き場がほしいなーと思ったわけですがFTPは鬱陶しいのが多いからやりたくない。
だからといってSSHを使ったら、そりゃーもう出来ることは限られるけど、色々と鯖の中を見て回られちゃうのがやだなーということで、色々と悩んでいたのです。
ftpならchrootがあるので、その辺から検索してみたら、やっぱり同じことで悩んでいる人がいるようです。
OpenSSHを使ってchrootを実現したかったわけですが、どうやらパッチをあてなーっていうのが古いやりかたで、4.9なんぼかOpenSSHにChrootDirectoryという設定として取り込まれた模様。
んじゃ、さくさくと先人達の記事を見ながら設定しようじゃないですかってーことで、設定をすることに。
ユーザーのホームディレクトリをrootへオーナーを変更したり、passwdで/に変えたり、制限したいユーザーのグループをsshd_confにMatchつかって、ChrootDirectoryの設定を書いたりSubsystemをinternal-sftpなどしたら意外とあっさりとできたわけですよ。
んで、ここからこのディレクトリをブラウザから見れるようにしたいよね。そうだよね!(・∀・)
とか余計なことを考えたからまた面倒なことになってきましてね。
普通に~userってアクセスしたら
File does not exist: /public_html
とか怒られるわけですよ。
自分のユーザーでアクセスしたら、/home/user/public_htmlってログが残るので、まずホームディレクトリの設定ががおかしいのだろう。
/になるんってことは、/home/userがばっさり/に置き換わってるってことで、/home/user/home/user/public_htmlにすればいいんじゃね? みたいな、コンソールからたたいててもどこに潜っているのかわからなくなって、思わずゲシュタルト崩壊を起こしそうでした。
んで、あーだこーだと消したりなんだりした結果
passwdファイルの方は/home/user
sshd_configの方はChrootDirectory /home/%u
でいいっぽいですよ。
ここにたどり付くまで2時間くらいかかったんですが・・・o rz
これをやると、鍵つかえないよーとか書いてたけど、なんかいけそうな気がしてきた。
まぁ、でも/.sshがまるみえになりそうですがw
0 Comments.