我有一台机器,只允许部分用户登录并通过 ssh 执行命令,其余所有用户都可以 ssh 并运行命令,但不能登录,即其他用户没有 tty。
有人可以帮我弄这个吗。
答案1
您应该在 ssh 服务器上为您的用户设置基于密钥的身份验证。
配置基于密钥的身份验证后,可以轻松设置用户的 authorized_keys 文件,以使用密钥的“no-pty”选项拒绝用户使用 tty。查看 sshd 的手册页,然后转到 AUTHORIZED_KEYS FILE FORMAT 部分以了解可用选项:http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8
答案2
使用 SSH 密钥并在仅应运行某些命令的用户文件command=
中指定参数。authorized_keys
在此command=
参数中,传递一个脚本来检查用户可以运行的命令。