对于对我的服务器的SFTP访问,我已经创建了一个sftp用户,该用户仅限于chroot的工作目录。
Match User sftp-user
AuthorizedKeysFile /home/sftp-user/.ssh/authorized_keys
ChrootDirectory /var/www/domain
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no而/etc/passwd中的这个条目
sftp-user:x:1003:1003::/html:/usr/sbin/nologin密钥文件中有一些问题,但是设置一个绝对路径可以解决这个问题。SFTP登录运行良好,直到nagios服务器监视安装在服务器(一个VPS)和/或更新已经运行,并且系统已经重新启动之前--我不太清楚。
现在,连接失败了,syslog显示了这个错误:
systemd[7590]: gpgconf: running /usr/bin/gpg-agent failed (exitcode=2): General error
systemd[7590]: gpgconf: fatal error (exit status 1)无论登录是否通过密钥文件或密码完成,都会发生此错误。所以我试着按照gpg -代理说代理存在,但是gpg说代理不存在?的问题来缩小问题的范围。
$ gpg-agent --version
gpg-agent (GnuPG) 2.2.4
libgcrypt 1.8.1当我以用户身份启动gpg-agent (而不是sftp用户)时,它在第一次运行时在主目录中创建一个文件:
$ gpg -d demo-file.asc
gpg: keybox '/home/username/.gnupg/pubring.kbx' created当我在chroot中禁用/etc/ssh/sshd_config时,登录就正常工作了。所以我假设,某些访问在chroot会话中失败。由于sftp用户不允许使用shell,所以我没有将任何目录bind到sftp用户的主目录中。
发布于 2019-02-20 08:50:36
实际上,无法创建的是.gnupg目录。/etc/passwd (/html)中指定的主目录在SFTP会话期间是相对的,但在登录期间被理解为绝对路径。所以..。
.gnupg = chroot+home = /var/www/domain/html中创建文件夹D6 (!)帮助。/html/.gnupg (由sftp用户拥有的.gnupg)从/syslog中删除了错误消息。为了解决进一步的问题(当然,它没有立即工作),我在详细模式下启动了另一个sshd守护进程,并连接到这个端口.但这将导致这里的话题。
sudo /usr/sbin/sshd -d -p 3321https://serverfault.com/questions/954844
复制相似问题