使用Capistrano向EC2部署Django代码--关于SSH相关的配置
使用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相关的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大亚DP607超级密码,破解方法
- 下一篇: SharePoint 2010 同步用户