SFTPを使用してUbuntuサーバーにアクセスしようとしています。
サーバーにユーザーを作成し、SSHキーを使用してサーバーへのアクセスを許可しました。接続がうまく機能しています。
次に、SFTPにのみアクセスを制限するように/etc/ssh/sshd_configを設定しました。
# myuser user configuration
Match User myuser
ForceCommand internal-sftp
PasswordAuthentication no
ChrootDirectory /var/sftp/myuser
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
これはサーバーのsftpフォルダです。
$ ls -la /var/sftp/myuser
total 5592
drwxr-xr-x 2 myuser myuser 4096 Mar 19 13:29 .
drwxr-xr-x 3 myuser myuser 4096 Mar 18 10:39 ..
-rwxr-xr-x 1 myuser myuser 3370257 Mar 18 11:18 file1
-rwxr-xr-x 1 myuser myuser 2343334 Mar 18 11:18 file2
これは私が接続するために使用するコマンドです
sftp -i /path/to/ssh_key myuser@myserver
問題は、サーバーに接続したときに/ var / sftp / myuserフォルダにファイルが見つからず、ファイルを生成できないことです。
SFTPルートが間違っているようですが、どちらが見つかりません。
ありがとう
答え1
解決策が見つかりました。 myuserをフォルダの所有者にするのは良いセキュリティ慣行だと思いますが、管理者をrootにすることは問題を解決しました。
これは現在のサーバーのsftpフォルダです。
$ ls -la /var/sftp/myuser
total 5592
drwxr-xr-x 2 root root 4096 Mar 19 13:29 .
drwxr-xr-x 3 root root 4096 Mar 18 10:39 ..
-rwxr-xr-x 1 root root 3370257 Mar 18 11:18 file1
-rwxr-xr-x 1 root root 2343334 Mar 18 11:18 file2
myuserはsftpを介した書き込みアクセス権を持っていませんが、私が知っている限りそれは問題ではありません。