我使用带有apache的烧瓶(mod_wsgi)。
当我使用外部命令OffsetDateTimePattern pattern = OffsetDateTimePattern.ExtendedIsoPattern;
OffsetDateTime odt = pattern.Parse("2015-11-06T18:34:07+05:30").Value;
DateTimeOffset dto = odt.ToDateTimeOffset();
DateTime dt = dto.UtcDateTime;
(我的Python Flask代码:没错)
subprocess.call("ssh ......",shell=True)
ssh = "sshpass -p \""+password+"\" ssh -p 6001 "+username+"@"+servername+" \"mkdir ~/MY_SERVER\""
我在Apache error_log上遇到了这个错误:subprocess.call(ssh, shell=True)
我该如何解决这个问题?
答案 0 :(得分:1)
我在RHEL 7下遇到了这个问题。这是由于SELinux阻止apache用户访问pty。解决:
允许apache控制其存储SSH密钥的目录:
sudo -u apache
chown apache / etc / share / httpd
ssh到所需主机,接受密钥。
答案 1 :(得分:0)
我认为apache的登录shell是“/ sbin / nologin”。
如果你想允许apache使用shell命令,修改/ etc / passwd并将登录shell更改为另一个shell,如“/ bin / bash”。
但是,此方法易受安全性影响。许多python ssh模块都可以在互联网上找到。使用其中一个。