使用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. Curr Biol:间隔学习可巩固记忆的奥秘
  2. 拖链电缆 机器人电缆_尼龙拖链在机器中起着电缆的作用
  3. linux内核编译感想,Linux内核编译小结
  4. 多重异常处理 java
  5. jQuery实现购物车多物品数量的加减+总价计算
  6. Alpha冲刺随笔—:第一天
  7. 部署weblogic 12c时遇到的问题
  8. 病毒注册表常用目标Svchost和Explorer
  9. 前大厂员工谈中美企业区别,中企不用单元测试,仅靠QA检查代码?
  10. linux 函数自动补全,Shell脚本中实现自动补全功能
  11. linux tomcat连接mysql步骤_Linux安装JDK 、TOMCAT 、MYSQL 步骤
  12. red linux系统管理,Red hat Linux 系统管理篇 4
  13. 楚留香服务器维护,楚留香3月30日更新维护公告 楚留香手游更新内容一览
  14. 商城静态页面(仿小米官网)
  15. 机器学习学习过程记录
  16. c语言做搬山游戏,C语言实现搬山小游戏,适合新手的项目实战,超易上手!
  17. Android 悬浮窗的使用(1)
  18. CSS笔记(美化超链接)
  19. Centos配置DNS
  20. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址

热门文章

  1. java.sql.SQLException: Io 异常: Got minus one from a read call
  2. 和我一起学 Selenium WebDriver
  3. set escape on
  4. JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor
  5. 记录一次redis事故
  6. redis数据类型为key的常用命令
  7. javabean自定义组件
  8. ubuntu下部署mongodb以及设置允许远程连接
  9. 37-Invert Binary Tree
  10. 6.Python标准库_子进程 (subprocess包)