使用Solaris和
Linux服务器以及OpenSSH,是否可以阻止用户使用“scp”复制文件,同时仍允许使用“ssh”进行shell访问?
我意识到’ssh $server“cat file”’类型文件访问更难以防止,但我需要看到为启动器停止“scp”.
如果失败了,有没有办法通过syslog可靠地记录服务器端的所有SCP访问?
解决方法
虽然您可以编辑/ etc / ssh / sshd_config看起来像这样:
ForceCommand /bin/sh PermitOpen 0.0.0.0 AllowTcpForwarding no PermitTunnel no # Subsystem sftp /usr/lib/openssh/sftp-server PermitUserEnvironment no
我会改为确定用户可能使用它的内容.因为如果只有少数命令可以让他们有权访问,我会删除他们甚至调用普通ssh shell的能力.
AllowUsers root PermitRootLogin forced-commands-only PermitUserEnvironment no AllowTcpForwarding no PermitTunnel no # Subsystem sftp /usr/lib/openssh/sftp-server Subsystem smb-reload /usr/bin/smbcontrol smbd reload-config Subsystem status /opt/local/bin/status.sh
ssh root@example -s smb-reload
如果你发现你确实需要能够运行一个普通的shell,那么你真正希望的最多就是放慢速度,让它变得更加困难.