Omi*_*mid 10 ssh sftp openssh motd
在Ubuntu的GNU / Linux 12.04,我有一个用户johndoe,其为部分sftponly基团,设立sftp到一个chroot使用监狱
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Run Code Online (Sandbox Code Playgroud)
在/etc/ssh/ssh_config. 用户home目录的所有组件都是 -root拥有的目录,任何其他用户或组都不能写入,如man sshd_config(下ChrootDirectory)中所述。在他的chroot监狱里,有一个可写的目录files:
sudo groupadd sftponly
sudo mkdir -p /home/sftponly/johndoe/files
sudo useradd -d /home/sftponly/johndoe -g sftponly -s /usr/sbin/nologin johndoe
sudo chmod go-w /home/sftponly/{,johndoe}
sudo chown johndoe:sftponly /home/sftponly/johndoe/files
sudo chmod ug+rwX /home/sftponly/johndoe/files
Run Code Online (Sandbox Code Playgroud)
(将外壳设置/bin/false为ssh或 都不起作用sftp。随着nologin外壳ssh连接,显示“MOTD”,然后断开连接,这是预期的行为。)
但sftp失败的消息Received message too long 1416128883。我知道这个失败是由“MOTD”(每日消息)引起的,正如sftp预期的“干净登录”。我已尝试使用以下方法禁用服务器上的所有“MOTD”部分,(这些结果):
将PrintLastLog no和添加PrintMotd no到末尾/etc/ssh/ssh_config并ssh使用restart ssh. (无效。测试ssh显示“MOTD”和“上次登录:”。)
注释掉session optional pam_motd.so在/etc/pam.d/sshd。(防止 MOTD。但没有对应的“LastLog”条目,因此,使用“LastLogin:”进行测试ssh仍然显示,因此sftp仍然失败。)
注释掉session optional pam_lastlog.so并session optional pam_motd.so在/etc/pam.d/login。(无效。测试ssh显示 MOTD 和“上次登录:”。)
创建.hushlogin使用客户端上的文件touch ~/.hushlogin。(没有效果。)
我没有想法。这个“上次登录:”消息可能来自哪里以及如何禁用它(理想情况下仅sftp用于ssh登录而不用于登录,但是,我想象作为sftp用途ssh,该消息将同时存在或不存在)?
我的打字错误是导致我遇到上述不合理行为的原因。必须编辑的是/etc/ssh/sshd_config(对应于守护进程),而不是(对应于客户端)。我把这个问题留在这里,以防它对其他人有帮助。ssh/etc/ssh/ssh_configssh
| 归档时间: |
|
| 查看次数: |
14266 次 |
| 最近记录: |