[英]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 個默認字段,我認為這會使這更安全。 如何生成key
、 keytext
和keyphrase
以及它們是什么?
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-2
、 SFTP
、 X.509
、任意精度 integer 算術庫……等等。 所以這個關於安全連接的問題應該在那里更好地提出。 ;-) 我會說,是的,它是一個安全的加密連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.