我使用python脚本使用command
文件中的authorized_keys
参数来限制命令的使用。
命令:
ssh host-name bash --login -c 'exec $0 "$@"' mkdir -p hello
我的脚本正在执行限制命令所需的操作。过滤后,python脚本会sys.exit(1)
表示错误,sys.exit(0)
表示成功。在返回值之后,上面的ssh命令没有在最后执行。我需要从python脚本发送到SSH守护程序吗?
答案 0 :(得分:2)
command
中的authorized_keys
修饰符不是(仅)用于验证users命令,而是运行该命令而不是用户提供的命令。这意味着从那里调用sys.exit(0)
会阻止运行用户提供的命令。
在该脚本中,验证命令后,您还需要运行它!
答案 1 :(得分:1)
我认为将其改为
ssh host-name bash --login -c 'exec $0 "$@" && mkdir -p hello'
应该这样做,否则bash会假设只有单引号中的部分是要执行的命令。
如果即使第一部分失败也应执行第二部分,请将&&
替换为;