laravel-envoy - 我在特使脚本中提供了密码,但它提示手动输入密码
问题描述
使用 laravel 5.8 envoy 命令,我部署在远程服务器上,并在命令行中设置密码,例如:
envoy run Hostels2Deploy --lardeployer_password=111 --app_version=0.105a
和特使文件:
@setup
$server_login_user= 'lardeployer';
$lardeployer_password = isset($lardeployer_password) ? $lardeployer_password : "Not Defined";
@endsetup
@servers(['dev' => $server_login_user.':'.$lardeployer_password.'@NNN.NN.NNN.N'])
@task('clean_old_releases')
echo "Step # 81";
echo 'The password is: {{ $lardeployer_password }}';
echo 'The $server_login_user is: {{ $server_login_user }}';
echo "Step # 00 app_version ::{{ $app_version }}";
cd {{ $release_number_dir }}
# php artisan envoy:delete-old-versions Hostels2Deployed
@endtask
@macro('Hostels2Deploy',['on'=>'dev'])
clean_old_releases
@endmacro
使用@servers 块中的凭据,我希望我不必手动输入密码,但在命令行中我会看到输入密码的提示。我输出 $server_login_user 和 $lardeployer_password 变量,它们具有有效值。
哪个是有效路径?
解决方案
我在我的操作系统的 /home/user/.ssh/config 中找到了一个使用 ssh 密钥添加行的决定:
Host laravelserver
IdentityFile ~/.ssh/id_rsa
HostName NNN.NN.NNN.N
Port 22
User lardeployer
并在特使文件中连接到此服务器,例如:
@servers(['dev' => ['laravelserver'] )
Aslo on remote user in file authorized_keys lardeployer's public key 必须添加。
并重新启动服务:
sudo systemctl restart ssh
推荐阅读
- django - 在 Django autocomplete_fields 中过滤外键的查询集
- python - Django,链接到数据库中的对象
- c++ - 我已经阅读了很多关于 2d 数组的内容,但是在我的作业中使用它时遇到了麻烦
- amazon-web-services - VPC 错误:模板的资源块中未解决的资源依赖项 [VPC]
- python - 如何让python从记事本读取文件并给出值
- angular - Angular,使用函数更改类变量/属性
- java - Tomcat SSL 证书是否应该与相互认证中的客户端证书匹配相同的 CA?
- javascript - React:在 setState 中设置数组对象
- python - 循环数索引;枚举()
- html - 相对于窗口而不是父窗口的绝对左侧位置 0