How to ssh to your Amazon Elastic Beanstalk instance?
Well, if it's ec2 or a digital ocean server, it would be a lot easier- you do what you normally do for a linux server.
Elastic Beanstalk(eb) is supposed to facilitate the deployment process.
but the setup/configuration is not that enjoyable, at least according to my experience (with Django)
Okay,
1. configure your security group, find the instance's group and add ssh and port 22 to the inbound tab, allow your IP since Amazon only whitelist ips.
2. create a key pair. It is weird to me that amazon create the .pem (priv+pub?) for you and according to some stackoverflow posts we need to -i this file when we connect to the server. That's not how it works normally, where we keep the private locally and let the server keep the public key, whenever we login we verify the key against each other.
3. need to enable the key-pair for your eb instance.
It supposed to be this simple. However i encoutered all kinds of weird problems.
First, the key pair doesn't seem to work, it kept on asking me for passphrase, which i never got a chance to specify from the amazon console. People say need to edit the file permission to 400 from 644, i was on a windows machine, cygwin doesn't seems to understand our company setting, chmod only added 'everyone' and 'domain' user to it. Tried to chmod from a mac and pasted in dropbox folder, of course, (i was being stupid) dropbox will change the permission cuz it's completely different file systems. The thing is the permission warning might not be the cause at all (Manually changed the windows security settings finally silienced this warning).
So after played around with different key pairs and tried to ssh in from a mac. I figured that changing the associated key-pair from the eb portal might simply not take effect at all (ssh -v hinted that server might not support this public key machanism). On another amazon doc i found that i might need to run eb ssh --setup to reconfigure the key-pair. It will actually rescale your instance: create a new one with the specified key and later on delete the old instance - that's how aws works.
This acutally helped. Notice that a new instance is using a differnt public URL, so be sure to get that new URL from the new instance.
It still kept on asking for passphrase, well, okay let me create my own key pair. Super easy on a mac, ssh-keygen, boom, got new keys, added my passphrase. Yes now that i have the passphrase, what say you? So i uploaded the public key to the aws portal.
(They eb ssh --setup again, waited for a couple of minutes)
Finally, now on my Mac:
ssh -i priv_key ec2-user@ec2-your-ip.compute-1.amazonaws.com
It works!!! Hooray!!!

And your Django project is here:

Strangely, the same command doesn't work on Windows (with openSSH), it still wants that passphrase, but my correct phrase simply won't pass the authentication process. After 3 tries, it rejected me.
[No bother for puTTY which simply uses a differnt format (.ppk) for keys.]
Other notes:
clean the known_hosts
private keys need to be in ~/.ssh folder
puTTY cannot load .pem file, puTTY supports .ppk, use puTTYgen for conversion
How to ssh to your Amazon Elastic Beanstalk instance?的更多相关文章
- How to force https on amazon elastic beanstalk
假设您已在负载平衡器安全组中启用https,将SSL证书添加到负载平衡器,将443添加到负载平衡器转发的端口,并使用Route 53将您的域名指向Elastic Beanstalk环境(或等效DNS服 ...
- AWS Add Key Pair to Elastic Beanstalk Instance 给EB实例加密钥
Go to Elastic Beanstalk -> Configuration -> Security -> Virtual machine permissions -> E ...
- DevOps on AWS之Elastic BeanStalk
Elastic BeanStalk相关概念 童话世界中存在着一种魔力beanstalk(豆荚),种在花盆里可以无限的向上生长,越长越高直达云端.AWS Elastic Beanstalk也采用类似概念 ...
- 利用 AWS Elastic Beanstalk 部署 Wordpress 环境
1. 准备 wordpress 代码 从https://wordpress.org/download/ 将代码压缩包下载到本地, 解压,会有一个 wordpress 目录 复制 wp-config-s ...
- [AWS - EC2] 如何向 Amazon Linux 2 实例传输文件,下载文件。How to send/ download files from Amazon Linux 2 Instance
1. 需要: 安装 WinSCP 2. 需要: PuTTY 生成的ppk格式密钥, 没有的话请移步此文章,完成1, 2, 3步即可. 3. 打开 WinSCP , 如果提示已经有PuTTY配置是否导入 ...
- [AWS - EC2]如何使用 PuTTY 连接到 Amazon Linux 2 实例。How to Connect Amazon Linux 2 Instance from Windows Using PuTTY
1. 下载 PuTTY 2. 安装到任意目录 3. 打开 PuTTYgen (注意不是 PuTTY), 如图: 选择 RSA , 点击 Load. 找到从 AWS 创建实例的时候生成的 key,要选择 ...
- Jetty官方文档翻译
最近在学习Jetty,没有找到合适的资料,所有只能看官方文档了,但是只有英文的,想着自己翻译着学也是学还不如把学习的过程放到网上,也可以给需要的人看,英文水平毕竟有限,也是用有道翻译着来的,不过也加了 ...
- How does java technology relate to cloud computing?
Java Paas shootout (@IBM developer) Cloud computing is always a hot topic around IT field today.Ho ...
- java8 之java.time
Java 8 之 java.time 包 标签: java java8 | 发表时间:2013-10-15 08:29 | 作者:coderbee 分享到: 出处:http://coderbee.ne ...
随机推荐
- [移动端]rem适配
原理:给html根节点设置一个基础font-size值,然后页面的所有元素布局均相对于该font-size值采用rem单位设定.font-size的取值通过js计算. 但字体不用rem单位,原因如下: ...
- IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目
转自:http://www.php-note.com/article/detail/854 IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目 作者:php- ...
- C# 多线程限制方法调用(monitor)
多线程执行方法 改方法没有执行完时 别的方法不能调用次方法.用循环执行一个方法可以需要一分钟 在这一分钟只内任何 成员都不能再调用该方法. class MonitorSample { ; //生产者和 ...
- golang实现随机数
package main import ( "fmt" "time" "math/rand" ) func main() { r := ra ...
- 【转】Sublime Text3注册码(可用)
补充:2015.11.05日经过测试,3个注册码都是可用的,不会用的请百度用法... 最近觉得Sublime Text3比Notepad++好使,可惜需要购买,于是网上搜了一下,屌丝的福音啊: Sub ...
- Scala编程--函数式对象
本章的重点在于定义函数式对象,也就是说,没有任何可变状态的对象的类.作为运行的例子,我们将创造若干把分数作为不可变对象建模的类的变体.在这过程中,我们会展示给你Scala面向对象编程的更多方面:类参数 ...
- 惯性导航之MEMS加速度计原理
一 加速度计原理 1.1 加速度计由MEMS传感器与信号处理芯片组成. 1.2 MEMS加速度计工作原理 由上电容.中电容板(可移动).下电容板等组成:当加速度达到一定值后,中电容板会移动,与上.下电 ...
- nginx url重定向
nginx内部支持url rewrite,内部编译进去了rewrite模块,nginx的rewrite模块类似于apache的rewriterule功能:支持多种规则和正则表达式: 详细介绍如下: N ...
- EL表达式的使用
在JSP页面中嵌入了一部分Java代码,本以为Java代码中声明的变量可以通过${var}获得变量值输出,结果没有任何输出, EL表达式是用在对对象值.属性制的访问 ${user.id}.reques ...
- 基于JSON的级联列表实现
html代码: <select id="provice" onChange="setCity()"> <option value=" ...