当前位置: 首页 > 知识库问答 >
问题:

使用SSH通过PHP与不同的用户

戈正初
2023-03-14

我有一个PHP文件,点击提交按钮,另一个PHP脚本正在执行。在第二个PHP脚本中,正在执行一个外壳脚本,其中正在与另一台服务器进行SSH连接。

我遇到的问题是,到另一台服务器的SSH连接只能由特定用户完成。但是,PHP脚本是由www数据执行的,因此我无法将用户更改为需要ssh连接的用户,因为每次都需要密码。

我还尝试从第一个PHP文件执行shell脚本,但仍然没有成功。

我的操作系统是UBUNTU。

这可以做到吗?如果可以,如何实现?谢谢

共有3个答案

欧阳晗日
2023-03-14

你是怎么登录的?SSH需要用户名。您是以该用户名提供www数据,还是以“特定名称”作为用户名?

穆彬郁
2023-03-14

您是否可以选择(访问和权限等)为SSH使用私钥/公钥?如果是,那么您的第二个PHP脚本将包含以下内容

ssh -l <particular-username> <hostname> -i <private_key_file>
严稳
2023-03-14

您可以使用sudo命令。要向其传递密码,有一个-S选项

 类似资料:
  • 在使用ssh2_sftp方法创建了一个通过SFTP发送和接收文件的小型库之后,我发现我必须连接的服务器已经禁用了ssh连接,我只能通过SFTP连接。 服务器连接在使用sftp命令的命令行下运行良好,但是ssh向我发送一个“此服务仅允许sftp连接”。

  • 问题内容: 我想写一个查询 或诸如此类 你能帮我么? 问题答案: 这应该工作: 从 MSDN : 在使用UNION,EXCEPT或INTERSECT运算符的查询中,仅在语句末尾才允许使用ORDER BY。仅当您在顶级查询中 而不是子查询中 指定UNION,EXCEPT和INTERSECT时,此限制才适用。 编辑 :强制您需要将顺序应用于外部查询的顺序。我已经向两个查询添加了一个常量值列。

  • 问题内容: 我正在使用Paramiko通过ssh连接到服务器。 基本身份验证效果很好,但我不明白如何使用公钥进行连接。 当我连接腻子时,服务器告诉我这一点: 我用这个ppk文件连接到它: 使用基本身份验证,我从日志中得到的错误是: 我尝试包含该ppk文件并将其设置为auth_public_key,但是没有用。 你能帮助我吗? 问题答案: 好的@Adam和@Kimvais是正确的,paramiko无

  • 问题内容: 我正在尝试在Jenkinsfile中使用 通过SSH发布 插件。但是,我在方法中遇到了异常。这是我的代码: 如何摆脱异常? 问题答案: 这是因为某些变量不可序列化。 来自文件 由于管道必须在Jenkins重新启动后才能幸免,因此正在运行的程序的状态会定期保存到磁盘,以便以后可以恢复(保存在每个步骤之后或在步骤的中间进行,例如)。 您可以使用注释进行创建,使用

  • 我正在尝试在 Jenkinsfile 中使用 Publish over SSH 插件。但是,我在 方法中得到了异常 。这是我的代码: 我怎样才能消除异常?

  • 我正在尝试用PHP向远程服务器发送命令。问题是,当我尝试发送一个带有参数的命令时,它将参数连接到文本中。 例如,如果我执行“MMI-MODE DISABLE”,它将执行命令OK。 但是当我尝试发送“undo service-port$id_ont”时,它会尝试执行“undo service-port4”而不是“undo service-port4” 执行命令的函数是: 我从服务器得到的响应是