あるSolarisサーバ(ServerA)で、以下のようなことができるアカウント(hoge)を作りたいと考えています。

どのように設定すればよいでしょうか。

○hogeでServerAへSSH接続 ⇒ 拒否
○別のSolarisサーバからsftpでhoge@ServerAに接続 ⇒ 許可

不可能な場合はその理由も教えていただけると幸いです。
(sftpはsshdと連動して起動するので、SSHを拒否してしまう時点でsftpは不可能でしょうか?)

以上、よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2007/10/30 18:34:09
  • 終了:2007/10/31 12:43:34

回答(4件)

id:znz No.1

znz回答回数193ベストアンサー獲得回数252007/10/30 19:25:03

ポイント20pt

scponlyなどのscp/sftp専用のシェルを使えば可能です。

接続元による制限などが必要な場合は、普通のsshの接続の制限と同じように、authorized_keysにfromなどを書けば可能です。

id:q8765

早速ありがとうございます。

回答を読んだだけではすぐに理解できなかったので、「scponly」をkeyにWEBを検索したところ以下のURLにたどり着きました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=24998&am...

ぜひ試してみたいのですが、対象がこのような機能の組込みがほぼ許されないシステムなので、残念ながら実現は難しそうです。

上記ページに「ホームディレクトリの .profile に小細工をして」も実現できる旨の記述がありました。

この程度の変更なら会社も許してくれそうなので、可能であれば.profile に小細工する方法も知りたいです。

2007/10/30 21:41:26
id:eggplantbb No.2

eggplantbb回答回数45ベストアンサー獲得回数22007/10/30 19:39:32

ポイント20pt

rsshを使った安全なファイル転送という情報を公開されている方がいらっしゃるようです。

sftp や scp を使ってファイルを安全に転送したいけど、ssh接続でのシェルの利用は許可したくないし、特定の領域にしかアクセスさせたくないような場合に使う。

とありますので、ご希望の設定に近いのではないでしょうか?

id:q8765

ありがとうございます。

ほぼ希望通りなのですが、rsshの組込みが必要なんですね。1番の回答者にコメントした通り、新しいソフトの組込みはちょっと厳しい状況です。

手順に「/etc/passwd」を空にして・・・という旨の記述がありましたが、現在稼働中のシステムにこんなことするとたぶん殴られてしまいます。厳しいかな。

2007/10/30 21:54:33
id:toohigh No.3

toohigh回答回数291ベストアンサー獲得回数372007/10/31 10:12:04

ポイント40pt

.profile に小細工をする方法についてですが、

echo exit > ~hoge/.profile

usermod -s /bin/sh hoge

・・・ということで、ssh ログインできるけど、ログイン後に即 exit するような

状態にする方法のことではないかと思います。

ただ、sftp 経由で .profile を消せるようだと意味がないので、~hoge および

~hoge/.profile を chown root:root しておくなり、ro で mount されている

場所に ~hoge 以下を置くなりしておく必要があるでしょう。

id:q8765

ありがとうございます。こちらの環境で試したところ、うまくいきました。

軽微な変更なので、これなら問題ないです!

シェルが/bin/sh以外の場合は、小細工するファイルが変わるので注意が必要ですね。

2007/10/31 12:41:33
id:samejima No.4

samejima回答回数92ベストアンサー獲得回数82007/10/31 11:31:38

ポイント20pt

/etc/passwdの第7フィールド(シェルを書く所)を/usr/lib/ssh/sftp-serverにする。

id:q8765

ありがとうございます。

/usr/lib/ssh/sftp-serverはsolaris10で有効なパスみたいですね。

こちらの環境は10ではないのでそれなりのパスに変えて試したのですが、

SSH接続してから切られるまでの挙動が3番の回答よりもスムーズでないので

今回は3番の回答を採用したいと思います。

環境によっては有効な方法かもしれませんね。

2007/10/31 12:41:35
  • id:samejima
    回答3では不完全ですよ。(まさか採用されるとは)
    ssh ServerA コマンド
    は動いてしまうので。
  • id:q8765
    > 回答3では不完全ですよ。(まさか採用されるとは)
    > ssh ServerA コマンド
    > は動いてしまうので。

    おっしゃるとおりです・・・。気づきませんでした。

    sshで接続されてスクリプトを実行されたりしたくないので
    やはりシェルを~sftp-serverにするのが安全かもしれません。

    もう少し時間を置いてからこの質問をクローズすべきでした。
    ポイントで差をつけることができず、申し訳ないです。

    ・・・ただこちらの環境では、この設定をすると、
    ssh接続を試みた際、認証後Enterキーを数回押さない限り接続が切断されないんですよね・・。

    幸い本番環境への適用はまだなので、もう少し考えてみることにします。
    ありがとうございました。
  • id:toohigh
    すいません、.profile なやり方に関する単純な興味だけかと思ったので、
    操作例を示しただけのつもりでした。

    ログインシェルを、sftp-server 以外許さないようなシェルスクリプトにするパターンは
    以前使ったことがあったので、そこから類推してみたいですが、たしかに抜け穴だらけですね。
  • id:q8765
    > すいません、.profile なやり方に関する単純な興味だけかと思ったので、
    > 操作例を示しただけのつもりでした。

    こちらこそすみません。
    いただいた情報はとても参考になりました。
    ありがとうございました。
  • id:samejima
    > ポイントで差をつけることができず、申し訳ないです。
    ポイントに関してはtoohighさんから受け取りました。
    律儀にどうもありがとうございます > toohigh

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません