首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用SSH登录web应用程序?

如何使用SSH登录web应用程序?
EN

Server Fault用户
提问于 2014-07-12 01:01:47
回答 2查看 1.9K关注 0票数 2

是否可以将web应用程序的登录连接到SSH服务器?我希望能够访问连接到SSH用户组的web控制面板。对于控制面板登录,他们可以使用与正常SSH帐户相同的密码。它不需要给他们SSH访问权限-只需进行用户名/密码身份验证。理想情况下,它可以使用他们的SSH键自动登录,当他们访问控制面板,但我怀疑这是可能的。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-07-12 10:29:26

在很大程度上,您的问题是:我希望我的web应用程序像SSH一样,根据系统用户数据库(/etc/passwd/etc/shadow/etc/group)对用户进行身份验证。Linux系统身份验证层的术语是PAM,可插入身份验证模块。

最快的可能是配置Apache以提供PAM支持。一种方法是运行波沃特国防部_[法]作者_外部,从而使Apache配置看起来类似于:

代码语言:javascript
运行
复制
DefineExternalAuth pwauth pipe /usr/sbin/pwauth

<Directory /var/www/yourapp>
 AuthType Basic
 AuthName "Your app requires authentication" 
 AuthBasicProvider external
 AuthExternal pwauth
 # any valid username/password is allowed access
 Require valid-user
 ## Only bob and sarah allowed
 # Require user bob sarah
 ## Only the members of the group yourappusers are granted access
 # Require group yourappusers
</Directory>

在更大的环境中,基于本地文件的用户身份验证通常被替换为中心用户目录,通常是LDAP目录。在系统级别上,这就是更改PAM配置的问题,在此之后,所有需要身份验证的应用程序都会立即意识到LDAP。

还有一个Apache LDAP模块,尽管大多数应用程序通常都支持本地的LDAP身份验证,而不是依赖Apache。这也允许诸如“注销”按钮这样的功能在Apache中不存在。

SSH密钥是特定于SSH协议的,尽管您可能会发现在web应用程序中重新构建该功能是一个有趣的挑战,但是您应该知道,web应用程序中常用的SSH公钥身份验证是部署SSL客户端证书。

票数 1
EN

Server Fault用户

发布于 2014-07-12 04:17:56

如果您确实需要SSH提供的加密,可以执行以下操作:

让Apache监听同时运行SSHd的服务器上的本地主机。如果你想让它安全的话就没别的事了。然后,您只需创建一个SSH隧道到服务器,该隧道将重定向到Apache正在监听的端口。

可以这样做:ssh -L 8080:127.0.0.1:80 user@yourserver.com (这是用于OS的)

建立连接后,您只需转到远程(客户端)机器上浏览器中的localhost:8080并访问网页。

票数 -2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/612051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档