• ベストアンサー

SSHとSFTPで別々のアクセスポリシー

お世話になります。 Fedora10でSFTPサーバを構築しようとしているのですが、そのサーバ ホストに「SFTPでファイルのアップ/ダウンロードはできるけれども、 SSHログインはできない」という設定をする事は可能でしょうか? (SFTPはSSH付属のsftp-serverを想定しています) SFTPとSSHで別のポート番号を使用することで実現できないかと 考えたのですが、調べた限りではsftp-serverにsshdと別のポートを 使用させる事ができないように見えています。 SSHもSFTPも同じポート22を使用しているとなると、iptablesで 区別する事もできないように思っています。 ポートを分ける方法、それ以外でも実現できる方法をご存知の方、 ご教示ください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

「sftponly」「scponly」などで検索してみて下さい。

daisukek
質問者

お礼

ご回答ありがとうございます。 scponlyというものをインストールし、ユーザのログインシェルとして設定することで実現する方法があるのですね。ありがとうございます。 ただ、まったくログインできないと、ユーザがパスワードを変更できない等、検討すべきケースがある事が分かりました。 元の質問からずれますが、基本ログイン不可だけども、特定のNWセグメントからのみSSHログインできるのがベストなのかなと考えています。もっと調べなくては…。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>「SFTPでファイルのアップ/ダウンロードはできるけれども、SSHログインはできない」という設定をする事は http://www.google.co.jp/search?hl=ja&source=hp&q=SSH+SFTP%E3%81%AE%E3%81%BF&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq= 公開鍵認証を使用している場合だと、公開鍵ごとにコマンドを制限できたハズです。 ~/.ssh/authorized_keys の公開鍵の前にcommand="~"の追加で対処できるかと。 # ssh+svnの為に、command="svnserve -t -r /var/svn/repo",no-pty,no-port-forwarding ssh-rsa AAAAB3~~ # としているエントリがあります。 http://www.google.co.jp/search?num=30&hl=ja&q=ssh+authorized_keys+command&lr=&aq=0&oq=SSH+authorized_keys+ >ポートを分ける方法 sshd_configにportの設定を複数行記述することで、複数のポートで待ち受けは可能ですが… それぞれのポートで使用できるコマンドの制限まではできないかと思われます。 # Matchで指定可能なのはUser/Group/Host/Addressみたいですし。

daisukek
質問者

お礼

ご回答ありがとうございます。 公開鍵で制限する方法は知らなかったので勉強になりましたが、この場合だとユーザ本人によってSSHログイン可能に書き換えられてしまうように思います…。 また、後半の「ポートごとに使用コマンド制限」というのは、こちらで調べた結果と同じ内容のコメントをいただけたので参考になりました。 「SSHは内部セグメントからのみ許可、SFTPはどこからでも許可」と設定できれば一番良いのですが、難しそうです。

関連するQ&A