• 締切済み

玄箱(debian)でSFTPサーバーの設定について

外部からのアクセスをsftpのみのサーバーをと考えているのですが、sshd_configの設定がうまくいかず、sshでのローカルからのログインも出来なくなってしまうと事態になってしまいます。(telnetで復帰処理で元に戻しています。) PasswordAuthentication yes Subsystem sftp internal-sftp {ここより上までは問題なし} Match group sftponly ChrootDirectory /mnt/root AllowTcpForwarding no ForceCommand internal-sftp {ここまでを入れるとsftponlyでないグループのユーザーもsshでログイン不可になる。} といった状態です。 sshのバージョンは5.2p1、mnt/rootのパーミッションは755,root:root です。インターネットで見聞きした知識しか無く的外れなことを言ってるかもしれませんがご教示お願います。

みんなの回答

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

sftpはやったことありませんが… とりあえず、LogLevelでDEBUGとかにして何が原因なのかログを調べてみるというのはどうでしょうか?

関連するQ&A

  • vine3.1のSSHサーバにアクセスするとエラー「ssh_exchange_identification: Connection closed by remo

    こんにちは。宜しくお願い致します。 vine3.1の環境です。 ppp0 RedHat9 (192.168.1.1) | (192.168.1.105) vine3.1 となっています。 [root@vine3.1]# cat /etc/inetd.conf | grep telnet telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd [root@vine3.1]# cat /etc/hosts.allow | grep telnet in.telnetd: 192.168.0. 192.168.1. 192.168.2. [root@vine3.1]# service inet restart Stopping INET services: [ OK ] Starting INET services: [ OK ] として、RedHat9からvine3.1にtelnetアクセス出来ました。 SSHサーバも構築したくて [root@vine3.1]# which sshd /usr/sbin/sshd [root@vine3.1]# cat /etc/inetd.conf | grep sshd ssh stream tcp nowait root /usr/sbin/tcpd sshd [root@vine3.1]# which sshd /usr/sbin/sshd [root@vine3.1]# cat /etc/hosts.allow | grep sshd sshd: 192.168.0. 192.168.1. [root@vine3.1]# cat /etc/ssh/sshd_config | grep -v ^# SyslogFacility AUTHPRIV LogLevel DEBUG3 PermitRootLogin no IgnoreRhosts no X11Forwarding yes Subsystem sftp /usr/libexec/openssh/sftp-server としたのですが [user01@redhat9]$ ssh -l user01 192.168.1.105 ssh_exchange_identification: Connection closed by remote host となっていまいます(ファイアウォールも全てスルーにしています)。 これは原因なのでしょうか?

  • sftp接続について

    RHEL5のsshd のサーバへクライアントPCから接続するときに、特定のユーザーのみsftp接続を拒否したく、sshd_config の DenyUsers にて指定してsftp接続を拒否することができました。 ただ、対象ユーザーにsftp接続は拒否しつつ、ssh接続は許可したいのですが、何か良い方法はないでしょうか。 よろしくお願いします。

  • WinWCPから書き込めない

    こんにちは。 CentOS6.4をインストールしてWinWCPからアクセスしようと思いまして、見よう見まねで下記のような設定をしてみました。     # mkdir /opt/sftpuser/     # mkdir /opt/sftpuser/test/     # groupadd -g 2000 sftpuser     # useradd -d /opt/sftpuser -G sftpuser hoge     # passwd hoge     // sshd_configの設定     # vi /etc/ssh/sshd_config         Subsystem sftp internal-sftp         Match Group sftpuser         ChrootDirectory /opt/sftpuser         X11Forwarding no         AllowTCPForwarding no         ForceCommand internal-sftp     // sshd を再起動。     # /etc/init.d/sshd restart 一応、hogeユーザーでアクセスしてたところ、/opt/sftpuserを超えずにアクセスできるようになってよかったと思っていたのですが、書き込みができません。 chmod 777 /opt/sftpuser/test 等やってみましたがダメでした。 パーミッションのエラーが出ているのですが、これを解消するためにはどのような設定を行えばよろしいのでしようか?

  • sftpのディレクトリ制限について

    sftpのディレクトリ制限についてので質問です。 友人とのファイルのやり取りにSFTPを考えています。 そこで、ChrootDirectoryを使用してディレクトリ制限をかけたいと思っているのですが、 Webサイトなどを参考に設定してみましたが、うまく出来ません。 /etc/ssh/ssd_config ~略~ Subsystem sftp internal-sftp Match group sftponly ForceCommand internal-sftp ChrootDirectory /chroot/ X11Forwarding no AllowTcpForwarding no と設定し、 /etc/group sftponly:x:300: /etc/passwd user:x:300:300::/:/sbin/nologin とユーザーグループを作成し。 ls -l / drwxr-x---. 3 root sftponly 4096 1月 9 07:51 2013 chroot ls -l /chroot drwxrwxrwx. 2 user sftponly 4096 1月 9 07:51 2013 share を作成しました。 以上の設定をしていざsftpで接続してみると、 # sftp user@localhost Connecting to localhost... user@localhost's password: sftp> pwd Remote working directory: / sftp> ls Couldn't get handle: Permission denied sftp> cd share sftp> pwd Remote working directory: /share sftp> put a Uploading a to /share/a Couldn't get handle: Permission denied sftp> と上記の様にcdでのディレクトリ移動などはできますがファイルの一覧取得は権限がなくできませんでした。 ディレクトリ制限をしたユーザでsftpでファイルのやり取りをするためにはあとどのような設定が必要でしょうか? よろしくお願いします。 環境 OS:CentOS 6.3 openssh-5.3p1-81.el6_3.x86_64

  • sftpのパスワードなしでログイン

    sftpのパスワードなしで自動化をしたいと考えています。 シェル内で他の処理をして、その後sftpで他のサーバーへコピー(put)します。 シェル内にsftpの起動する内容を記載するのですが、どうしてもパスワードを聞かれてしまいます。 調べてみるとSSH公開鍵認証を使用してパスワードなしのログインが出来るとありました。 試してみたのですが、どうしてもうまくログインできません。 原因と対応策を教えて頂けませんでしょうか。 OS:AIX5.3 おこなった作業は以下です。 サーバー側(ファイルを受ける側) 1、ユーザーのホームディレクトリ上でssh-keygen -t rsa を実行 2、.sshにid_rsa、id_rsa.pubができるので、id_rsa.pubをauthorized_keysへ変更する。 3、authorized_keysをクライアントに送る。 4、id_rsa、authorized_keysのアクセス権を600にする。 5、sshd.confgを編集 <編集箇所> RSAAuthentication yes   →コメントアウト PubkeyAuthentication yes  →コメントアウト AuthorizedKeyFile .ssh/authorized_keys  →コメントアウト PasswordAuthentication no →コメントアウト、yesをnoに変更 PermitEmptyPasswords yes →コメントアウト、noをyesに変更 ChallengeResponseAuthentication no →コメントアウト、yesをnoに変更 6、保存してsshdを再起動 クライアント側(ファイルを送る側) 1、ホームディレクトリの.sshにauthorized_keysを配置する。 2、authorized_keysのアクセス権を600にする。 3、sshdを再起動 以上の作業の後にクライアントからsftpでログインしようとすると、 以下のメッセージが出てしまいます。 sshも同様です。 (ログインしてホームディレクトリにいるとします) $ sftp -i ./ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey). Connection closed $ ssh -i .ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey).

  • rootでのsshログインを許可したいのですが、何故か出来ません。

    rootでのsshログインを許可したいのですが、何故か出来ません。 sshサーバ環境 CentOS release 5.5 (Final) OpenSSH_4.3p2 sshサーバの「/etc/ssh/sshd_config」の内容は以下の通りです。 #「/etc/ssh/sshd_config」 Protocol 2,1 ListenAddress 0.0.0.0 SyslogFacility AUTHPRIV PermitRootLogin yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes PermitEmptyPasswords no PasswordAuthentication yes ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes UsePAM yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL X11Forwarding yes Subsystem sftp /usr/libexec/openssh/sftp-server #---------- なお、その他の項目はコメントアウトされています。 調べてみますと「PermitRootLogin」をyesにしてsshdを再起動(/etc/rc.d/init.d/sshd restart)すれば良いとありますが、それでもrootでsshログインが出来ません。なお、一般ユーザではsshでログイン可能です。 sshdサーバでの「/var/log/secure」では、以下のようにあります。 Aug 27 16:52:22 hogehoge sshd[2543]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.com user=root Aug 27 16:52:25 hogehoge sshd[2543]: Failed password for root from xxx.xxx.xxx.xxx port 37192 ssh2 原因として何が考えられますでしょうか。

  • 玄箱proでssh接続でパスワードでの接続ができてしまう

    こんにちは、いつも活用させていただいております、 日高@愛知と申します。 標記の通り、 玄箱proで自宅サーバーを debianで 初心者という立場で 徐々に組上げております。 sshサーバーで /var/ssh/sshd_config を # Change to yes to enable tunnelled clear text passwords PasswordAuthentication no としておりますが、 パスワードで接続できてしまいます。 ログを見ると Oct 26 08:31:47 hackkit sshd[3362]: Accepted keyboard-interactive/pam for Hoge from 192.168.1.17 port 1544 ssh2 Oct 26 08:31:47 hackkit sshd[3366]: (pam_unix) session opened for user hoge by (uid=0) Oct 26 08:31:52 hackkit su[3372]: + pts/0 hoge:root Oct 26 08:31:52 hackkit su[3372]: (pam_unix) session opened for user root by hoge(uid=1001) が、関係分だと思われます。 何か勘違いを僕がしていると思いますが、 ご指摘いただけますでしょうか? よろしくお願いします。

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

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

  • SFTP/SCPが参照するファイル

    Vine Linux3.xでSSHサービスを稼動させ、他のクライアントからSFTPでアクセスする際についての疑問です。 FTPならば、proftpd.confに設定を記述しますが、SFTPの場合に参照するファイルはあるのでしょうか?接続の際には、sshd_configの設定に従うとは思うのですが・・・。

  • sshdでパスワード認証を禁止できない

    sshdでパスワード認証を禁止したいのですが、できません。 現在は、公開鍵認証でログインでき、パスワード認証でもログインできてしまう状態です。 ■やっったこと サーバー側から、「/etc/ssh/ssh_config」を以下のように修正 コメントアウトを外して、yesをnoに変更 【変更前】 # PasswordAuthentication yes 【変更後】 PasswordAuthentication no sshdのリスタート linux:/ # /etc/init.d/sshd restart Shutting down SSH daemon done Starting SSH daemon done 以下は、パーミッション700で、そのユーザーがオーナーになってます。 /home/ユーザー/.ssh /home/ユーザー/.ssh/authorized_keys2 ■状況 ・秘密鍵を使用したパスフレーズでログインできます。 ・パスワードでもログインできてしまいます。 ・PuTTYとWinSCPの2つで試しました。 パスフレーズとパスワードは、別の文字です。8桁 ■環境 サーバー側 ・SuSE Linux9.3 クライアント側 ・Windows2000 SP4 ・PuTTY Release0.58-jp20050503 ・WinSCP バージョン3.8.0(ビルド312) 宜しくお願いします。