ruby-on-rails – 为什么我尝试限制部署时会收到“权限被拒绝”
发布时间:2020-12-17 03:16:40 所属栏目:百科 来源:网络整理
导读:我试图使用我的服务器上的远程git存储库使用capistrano部署我的rails 4应用程序.我的git repo在我部署应用程序的同一台服务器上.当我尝试上限部署时,我得到了这个错误 my/local/rails/app/directory$cap deploy triggering load callbacks * 2013-08-30 15:5
我试图使用我的服务器上的远程git存储库使用capistrano部署我的rails 4应用程序.我的git repo在我部署应用程序的同一台服务器上.当我尝试上限部署时,我得到了这个错误
my/local/rails/app/directory$cap deploy triggering load callbacks * 2013-08-30 15:51:20 executing `deploy' * 2013-08-30 15:51:20 executing `deploy:update' ** transaction: start * 2013-08-30 15:51:20 executing `deploy:update_code' updating the cached checkout on all servers executing locally: "git ls-remote ssh://git@myserver.com/var/repos/test.git master" command finished in 684ms * executing "if [ -d /var/www/test/www/shared/cached-copy ]; then cd /var/www/test/www/shared/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 9de1df43a7959b953dc0b35c2ab27ba84698602a && git clean -d -x -f; else git clone -b master ssh://git@myserver.com/var/repos/test.git /var/www/test/www/shared/cached-copy && cd /var/www/test/www/shared/cached-copy && git checkout -b deploy 9de1df43a7959b953dc0b35c2ab27ba84698602a; fi" servers: ["myserver.com"] [myserver.com] executing command ** [myserver.com :: out] Cloning into '/var/www/test/www/shared/cached-copy'... ** [myserver.com :: out] ** [myserver.com :: out] git@myserver.com's password: Password: ** [myserver.com :: out] ** [myserver.com :: out] Permission denied,please try again. ** git@myserver.com's password: Password: ** [myserver.com :: out] ** [myserver.com :: out] Permission denied,please try again. ** git@myserver.com's password: Password: ** [myserver.com :: out] ** [myserver.com :: out] Permission denied (publickey,password). ** fatal: Could not read from remote repository. ** ** Please make sure you have the correct access rights ** and the repository exists. command finished in 18891ms *** [deploy:update_code] rolling back * executing "rm -rf /var/www/test/www/releases/20130830225140; true" servers: ["myserver.com"] [myserver.com] executing command command finished in 700ms failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-2.0.0-p247' -c 'if [ -d /var/www/test/www/shared/cached-copy ]; then cd /var/www/test/www/shared/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 9de1df43a7959b953dc0b35c2ab27ba84698602a && git clean -d -x -f; else git clone -b master ssh://git@myserver.com/var/repos/test.git /var/www/test/www/shared/cached-copy && cd /var/www/test/www/shared/cached-copy && git checkout -b deploy 9de1df43a7959b953dc0b35c2ab27ba84698602a; fi'" on myserver.com 当我在其中输入密码时,说权限被拒绝,我确定密码是正确的.这是我的deploy.rb require 'bundler/capistrano' require 'rvm/capistrano' set :user,'user' set :domain,'myserver.com' set :application,"blog" set :repository,"ssh://git@myserver.com/var/repos/test.git" set :scm_passphrase,"password" set :deploy_to,'/var/www/test/www' set :deploy_via,:remote_cache set :scm,:git set :branch,'master' set :scm_verbose,true set :use_sudo,false set :normalize_asset_timestamps,false set :rails_env,:production set :rvm_type,:system set :rvm_ruby_string,'ruby-2.0.0-p247' # set :scm,:git # You can set :scm explicitly or Capistrano will make an intelligent guess based on known version control directory names # Or: `accurev`,`bzr`,`cvs`,`darcs`,`git`,`mercurial`,`perforce`,`subversion` or `none` role :web,domain # Your HTTP server,Apache/etc role :app,domain # This may be the same as your `Web` server role :db,domain,:primary => true # This is where Rails migrations will run default_run_options[:pty] = true ssh_options[:forward_agent] = true after "deploy","deploy:migrate","deploy:restart" after "deploy:update","deploy:restart" # if you want to clean up old releases on each deploy uncomment this: # after "deploy:restart","deploy:cleanup" # if you're still using the script/reaper helper you will need # these http://github.com/rails/irs_process_scripts # If you are using Passenger mod_rails uncomment this: # namespace :deploy do # task :start do ; end # task :stop do ; end # task :restart,:roles => :app,:except => { :no_release => true } do # run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" # end # end namespace :deploy do desc "cause Passenger to restart" task :restart do run "touch #{current_path}/tmp/restart.txt" end end 我可以使用ssh密钥从命令行ssh到我的服务器,以便工作正常.谁知道问题是什么?谢谢. 解决方法
这在过去对我有用.希望这对你有用:
ssh-add /.ssh/id_rsa (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |