求教:将 env 文件复制到与 deploy.php 文件的同目录下,报错 Permission denied (publickey).
命令:
$ cd ~/Code/deploy-laravelShop
$ scp root@我的公网 IP:/var/www/laravelShop/.env .
报错:
scp root@我的公网 IP:/var/www/laravelShop/.env .
root@我的公网 IP: Permission denied (publickey).
我的配置文件:
/home/vagrant/Code/deploy-laravelShop/deploy.php
<?php
namespace Deployer;
//引入官方的 Laravel 部署脚本
require 'recipe/laravel.php';
set('repository', 'https://github.com/bingyu2019/laravelShop.git');
add('shared_files', []);
add('shared_dirs', []);
set('writable_dirs', []);
host('我的公网 IP')
->user('root') // 使用 root 账号登录
->identityFile('~/.ssh/laravelShop-aliyun.pem') // 指定登录密钥文件路径
->become('www-data') // 以 www-data 身份执行命令
->set('deploy_path', '/var/www/laravelShop-deployer'); // 指定部署目录
// 定义一个上传 .env 文件的任务
desc('Upload .env file');
task('env:upload', function() {
// 将本地的 .env 文件上传到代码目录的 .env
upload('.env', '{{release_path}}/.env');
});
// 定义一个后置钩子,在 deploy:shared 之后执行 env:upload 任务
after('deploy:shared', 'env:upload');
after('deploy:failed', 'deploy:unlock');
before('deploy:symlink', 'artisan:migrate');
关于 LearnKu
还是没有搜索到解决问题的答案。尝试了一下:
$ ssh git@github.com
PTY allocation request failed on channel 0
Hi bing! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
在学习前面的章节,手动部署成功了,很开心。
到这一章节,卡在权限这里,距离跑通Deployer 部署脚本仅差一步遥。
报这个错说明你没有服务器的权限,服务器是不是重装过?或者你换了台电脑?
@leo 什么都没换,就昨夜我关闭服务器关电脑睡觉了。今天重新启动服务器,公网 IP 换了个新的。 我用新的 公网 IP 联上服务器的。我发现昨天简化登录服务器的方法用不了了,报的就是这个错:root@我的公网 IP: Permission denied (publickey). 。
我已经把以下文件
$ vim /home/vagrant/Code/deploy-laravelShop/deploy.php
$ vim .env
$ vim ~/.ssh/config
里的 公网 IP 全换成今天的新的也还是报那个错。
但不简化的方法可以登录云服务器。
@leo 老师,如何重新部署项目到服务器?还是这个项目,还是这个服务器。
我今天搜一天也没解决问题,我想再重新来一遍试试。
加上
-i {证书路径}.pem参数也登不上吗?如果还是登不上我建议你重装一下服务器。