Linux 无法使用Apache通过SSH连接服务器

Linux 无法使用Apache通过SSH连接服务器,linux,bash,apache,ssh,cgi,Linux,Bash,Apache,Ssh,Cgi,我遇到了通过ssh连接到服务器的问题 我有一个服务器a和B。我从服务器a运行.sh脚本,该脚本解析服务器a上的日志,然后连接到服务器B并执行相同的任务。在控制台中,一切正常,但不适用于web界面 我使用带有apache2的cgi连接到服务器。当我在服务器A上运行脚本时,它解析日志并返回relult,但它无法连接服务器B 以下是httpd的日志: [Thu Nov 22 14:09:34 2018] [error] [client 10.1.68.243] Permission denied, p

我遇到了通过ssh连接到服务器的问题

我有一个服务器a和B。我从服务器a运行.sh脚本,该脚本解析服务器a上的日志,然后连接到服务器B并执行相同的任务。在控制台中,一切正常,但不适用于web界面

我使用带有apache2的cgi连接到服务器。当我在服务器A上运行脚本时,它解析日志并返回relult,但它无法连接服务器B

以下是httpd的日志:

[Thu Nov 22 14:09:34 2018] [error] [client 10.1.68.243] Permission denied, please try again.\r, referer: http://cab-prod-comp-sd/cgi-bin/example-bash.sh?val_x=RDWH.&val_z=1
服务器脚本:

-rwsrwxr-x 1 sas sas 2217 Nov 22 11:25 /sas/oljas_scripts/find_usage_of_tables.sh
服务器B脚本:

-rwxrwxr-x 1 sas      sas    1202 Nov 19 09:16 find_usage_of_tables.sh
连接到服务器B的部分:

SAS_RESULTS=$(ssh sas@sas-p1l-comp /sas/oljas_scripts/find_usage_of_tables.sh $table_name)
谢谢你的帮助。 谢谢大家!

编辑:


我是否需要向用户Apache授予权限?如何做到这一点?

这是我从你的问题中得出的假设:

  • 系统A使用用户“apache”运行httpd
  • 系统B有一个名为“sas”的用户
  • 您希望用户“apache”使用“sas”用户连接到系统B
  • 您的连接代码未显示正在使用的任何密码或密码短语。您也没有提到ssh代理,因此ssh连接是通过ssh密钥完成的
  • 系统B上的sshd配置为允许无密码连接(即使用密钥身份验证)。从上面的评论中,可以看到以下内容:,萧如彬的回答
在系统A上,用户“apache”:

  • 如果还没有,那么在~/.ssh中,您应该设置一个私有和一个公共ssh密钥(ssh-keygen,在web上检查,有很好的文档记录)
在系统B上,用户“sas”:

  • 用户“sas”在~/.ssh中创建一个名为
    authorized_keys
    的文件(如果需要)
  • 在这个文件中,放置system A中“apache”用户的公钥
  • 这将允许系统A上的用户“apache”使用用户“sas”连接到系统B
在系统B上耦合陷阱以避免

  • 确保用户“sas”~/.ssh的权限为700
  • 用户“sas”~/.ssh/authorized_密钥的权限为600
  • 用户“sas”~的权限为700。这里我指的是“sas”的主目录。例如,~对于“sas”是/home/sas,那么如果您
    ls-al/home
    您应该会看到带有700的sas目录
要调试,您可以执行
ssh-v-v-vsas@sas-p1l组件


对于您关于已知_主机的问题,在系统A上,当它第一次连接到系统B时,如果在文件中找不到系统B,ssh将为您添加它。但是你必须至少手工做一次。ssh客户端希望您确认添加,这只能在命令行上完成。web界面将不会响应客户端。所以,手动连接一次,那么你也可以上网了


在此之前,尝试在系统A上设置httpd是没有意义的。这必须首先在命令行中工作。

谢谢大家!
通过从用户SAS运行apache server解决了此问题。

通常,您的脚本也可以由其他用户(包括apache)执行。第一个
rwx
用于文件所有者,第二个
rwx
用于与文件所有者属于同一组的用户,最后一个
r-x
表示任何其他用户都可以读取和执行这些文件。singrium,谢谢。所以,问题在于已知主机?我的意思是,我需要将我的主机ip 10.1.68.243添加到已知主机吗?老实说,我不确定。但是试一试。看看这些链接:谢谢,尼克。我会试试看你应该接受首选答案(复选标记)。这就是我们积累声誉点数的方式(就像你回答问题时所做的那样)。你的回答应该是对你的问题的评论。