簡體   English   中英

如何將我的 SSH 命令保護到 Laravel 中的遠程服務器?

[英]How can I secure my SSH commands to a remote server in 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 個默認字段,我認為這會使這更安全。 如何生成keykeytextkeyphrase以及它們是什么?

The SSH component was removed from Laravel core in 2015 and Laravel Collective is maintaining this component from then on - article on Laravel News . 這就是為什么您不再在官方 Laravel 文檔中找到任何相關內容的原因。

當您想使用 ssh 密鑰而不是使用用戶名和密碼登錄時,應使用“key”、“keyphrase”和“keytext”字段。

“key”字段包含您的私有 ssh 密鑰文件的完整路徑。 在“keyphrase”字段中,應輸入 ssh 密鑰的密碼(如果存在)。

關於配置選項的文檔不是很好——我只是搜索了Github 問題以獲取一些信息。

laravelcollective/remote package 使用phpseclib/phpseclib庫來創建 SSH 連接。 這是一個 PHP 安全通信庫,實現SSH-2SFTPX.509 、任意精度 integer 算術庫……等等。 所以這個關於安全連接的問題應該在那里更好地提出。 ;-) 我會說,是的,它是一個安全的加密連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM