php - 如何保护我的 SSH 命令到 Laravel 中的远程服务器?
问题描述
我正在使用Laravel 4.2中记录的laravelcollective/remote,但此文档未显示有关此版本的任何信息。6.x
我正在尝试访问我的外部服务器以运行Docker
命令:
SSH::into('production')->run(["docker inspect --format='{{.Name}}' {$id}"], function($container) {
// ...
});
我的配置看起来像这样并且非常基本,尽管它可以工作:
'connections' => [
'production' => [
'host' => 'xx.xx.xxx.x',
'username' => 'xxx',
'password' => 'xxx',
'key' => '',
'keytext' => '',
'keyphrase' => '',
'agent' => '',
'timeout' => 10,
],
],
当我然后使用:
SSH::into('production')->run(['ls'], function($x) { echo $x; });
它工作正常,但这有多安全?我可以看到我缺少 4 个默认字段,我认为这会使这更安全。我怎样才能生成一个,key
它们是什么?keytext
keyphrase
解决方案
SSH 组件于 2015 年从 Laravel 核心中移除,Laravel Collective 从那时起一直在维护这个组件 - Laravel News 上的文章。这就是为什么您不再在 Laravel 官方文档中找到任何关于此的内容的原因。
当您想使用 ssh 密钥而不是使用用户名和密码登录时,应使用“key”、“keyphrase”和“keytext”字段。
“key”字段包含您的私有 ssh 密钥文件的完整路径。在“keyphrase”字段中,应输入 ssh 密钥的密码(如果存在)。
关于配置选项的文档不是很好——我只是搜索了Github 问题以获取一些信息。
该laravelcollective/remote
软件包使用phpseclib/phpseclib
lib 来创建 SSH 连接。这是一个 PHP 安全通信库,实现
了SSH-2
、、、、任意精度整数算术库,...等等。所以这个关于安全连接的问题应该在那里更好地提出。;-) 我会说,是的,它是一个安全的加密连接。SFTP
X.509
推荐阅读
- python - Snakemake - 您可以从作业脚本中访问作业属性吗?
- arrays - TypeError:json.find 不是函数(discord.js)
- sql-server - 从消息选项卡 SSMS 中捕获内容
- flutter - Flutter引擎销毁问题
- colors - 外壳和颜色输出
- javascript - 努力使用正则表达式匹配内引号+括号。我需要消极/积极的前瞻/后视吗?
- java - RedHat - RPM 如何自动选择正确的 JVM 版本?
- reactjs - 为什么我在尝试映射文件名列表时得到对象不支持属性或方法“映射”
- windows - USB设备连接AMAZON APPSTREAM2.0的问题
- python - 使用cookiecutter时如何省略花括号?