使用Capistrano向EC2部署Django代码--关于SSH相关的配置 - foxracle - 博客园

使用Capistrano向EC2部署Django代码--关于SSH相关的配置

在使用Capistrano向EC2部署Django代码的文章中,主要给出了Capistrano的配置文件,这里具体说一下SSH的相关配置。

Capistrano里面和SSH相关的有几个设置的地方:

set :user, "ec2-user" #连接EC2的用户名
set :use_sudo, false  #连接EC2之后进行deploy:setup的时候,不允许使用sudo
default_run_options[:pty] = truessh_options[:forward_agent] = true #采用SSH agent forwarding技术
ssh_options[:port] = 22
ssh_options[:keys] = [File.join(ENV["HOME"], ".ec2", "aws_xxx"), File.join(ENV["HOME"], ".ssh", "deploy_xxx")] #指定连接EC2需要用的keyfile

使用SSH的两个地方:

  • Local连接EC2:基于key pair认证
  • EC2连接github

1:连接EC2的时候是基于key pair的认证。在命令行下一般这么使用

ssh -i sample.pem ec2-user@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

这里需要通过[ -i ]明确指定你的私钥位置,你可以使用AWS帮你生成的*.pem,也可以是自己通过ssh-keygen产生的私钥。这个可以通过ssh_options[:keys]进行配置。如果不配置的话,默认会询问你的密码。其实你也可以把该私钥的放到ssh agent里面就可以不用通过配置文件的ssh_options来明确指定了。

ssh-add /the/full/path/to/private-key

2:EC2连接github的时候,可以有三种方法,我们这次采用SSH agent forwarding方法。

具体参照:https://help.github.com/articles/using-ssh-agent-forwarding

# .ssh/config
Host *.compute.amazonaws.comForwardAgent yes# deploy/development.rb
ssh_options[:forward_agent] = true
ssh_options[:port] = 22
ssh_options[:keys] = [File.join(ENV["HOME"], ".ec2", "aws_op")]

注意:EC2连接github使用的SSH Key必须要事先通过ssh-add告诉ssh agent(具体内容可以通过ssh-add -l来进行确认)否则连不通。而且具体使用的key也不必通过ssh_options[:keys]进行配置。如果你本地有多个可以访问指定repo的多个github账号,且他们的SSH key都加入到ssh agent里的时候,怎么具体指定使用哪个账号进行操作,暂时还无法知晓,即使指定了ssh_options[:keys]也好像不凑效。

使用Capistrano向EC2部署Django代码--关于SSH相关的配置相关推荐

  1. 自动化代码部署、代码回滚、命令执行软件之capistrano

    Hi,本周第一天没什么事,所以就先分享一下我研究自动化代码部署与回滚软件的经验.这个软件有什么用途?主要是解决自动进行代码的部署,避免手动部署时出现错误,节省时间,同时在出现问题的时候,能回滚到之前的 ...

  2. 【转】Nginx+uWSGI 部署 Django 应用

    原文来自: http://www.oschina.net/question/54100_30386 http://obmem.info/?p=703 常见的django webapp 部署方式采用FC ...

  3. 基于nginx和uWSGI在Ubuntu系统上部署Django项目

    1. nginx 1.1 安装 sudo apt-get install nginx 1.2启动.停止和重启 sudo /etc/init.d/nginx start sudo /etc/init.d ...

  4. Apache上部署Django

    目前,Apache和mod_python是在生产服务器上部署Django的最健壮搭配.mod_python 是一个在Apache中嵌入Python的Apache插件,它在服务器启动时将Python代码 ...

  5. python django部署docker_Docker 部署 Django+Uwsgi+Nginx+Vue

    简介 * 1.两年前接触docker是因为要部署selenium_gird,后来呢发现zalenium可以录制ui自动化视频的工具,都是直接pull镜像,启动容器.所以一直以来就只用到了pull. r ...

  6. 部署Django到云服务器(centos+nginx+mysql+uwsgi+python3)【操作篇(1)】

    开篇 笛卡尔说:"你不能教会一个人任何东西,你只能帮助他发现他自己内心本来就有的东西!" jacky能教你的,只能是经验和建议,要逆袭还得通过自己对数据的不断领悟,数据领域的技能都 ...

  7. docker部署django项目、mysql主从搭建、django实现读写分离

    目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dock ...

  8. nginx+uwsgi部署Django

    本篇文章主要介绍了解决nginx+uwsgi部署Django的所有问题(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 最近,自己暑假写的小项目也算完毕了,想着投放 ...

  9. centos7.3部署django用uwsgi和nginx[亲测可用]

    centos7.3部署django用uwsgi和nginx[亲测可用] 现在nginx nginx version: nginx/1.10.2 uwsgi 2.0.17 django2.0.5 都已经 ...

最新文章

  1. 设备履历管理系统php开源,航空机载设备履历本管理制作系统诞生记
  2. python 3389爆破机
  3. web.config mysql_web.config配置mysql数据库连接
  4. *[topcoder]JumpFurther
  5. VS2013出现“无法找到“xxx.exe”的调试信息,或者调试信息不匹配”错误解决方案
  6. 【抽奖】若川诚邀你加前端群,长期交流学习~
  7. 前端学习(1540):案例分析
  8. jboss修改服务器端口,改了默认端口的jboss不能用shutdown.sh关闭,怎样解决
  9. 关于docker环境下mysql的使用相关
  10. 在Spring中使用JDBC访问关系数据
  11. [转] 谈谈MIXI的开源SNS架构
  12. AndroidStudio配置NDK
  13. java所有代码都需要编译吗_为什么要编译此Java代码?
  14. J2EE和.NET技术
  15. 人工智能属于计算机科学研究方向,《人工智能》课程简介
  16. 求正方形和长方形的个数
  17. php 显示连接数据库失败,php数据库连接失败的原因及解决办法
  18. 我想外包开发一个预约类小程序,大概需要多少钱?
  19. Nginx入门以及开源博客Tale的部署
  20. 基于word2vec的QA demo

热门文章

  1. OGNL是Object-Graph Navigation Language
  2. 科目移动类型替代规则总结
  3. 自编码器及其相关模型
  4. Django框架(十八)—— auth框架:用户登录、注册、认证
  5. StackExchange.Redis学习笔记(五) 发布和订阅
  6. SQL查询【根据生日计算】
  7. meta标签的使用方法(PC端)
  8. hibernate之工具类
  9. [转]一些需要禁用的PHP危险函数和禁用方法
  10. Arcgis for JS扩展GraphicLayer实现区域对象的聚类统计与展示