ssh + aws
Amazon EC2上的Instance已经运行起来,就相当于你已经有了一台在墙外的电脑。接下来要做的,就是让你的本地电脑与这个远程的Instance通信,来帮你连通墙外的世界。主要通过两步来实现,SSH配置,浏览器配置。对于SSH配置,要区分Windows用户和Linux用户。
Wondows用户SSH配置
先下载 putty.exe 和 puttygen.exe两个文件。
将之前建立Instance时下载下来的pem文件用 puttygen.exe转成ppk文件。具体如下:打开 puttygen.exe,选择load, 导入之前的pem文件(可能需要把文件过滤选成ALL才能看到)。正常情况下,会提示导入成功。然后点击“Save privatekey”,输入文件名,即可保存为ppk文件。
打开putty.exe,
[*]在Session页面,Host Name处输入 ubuntu@yourPublicNDS-or-yourElasticIP,Port用22, Protocl 选择SSH。
[*]到Connection -> SSH -> Auth 页面, 在“Private key file for authentication”处读取之前的 ppk 文件的路径。
[*]到Connection -> SSH -> Tunnels 页面,Source port处输入3128,选择Dynamic类型,点击Add。
[*]回到Session页面,Saved Sessions处输入一个任意标识名,点击Save,将所有配置保存下来。下次再用时,直接Load这个标识名即可。最后,点击Open,即可看到从远程EC2 Instance返回的登录成功信息。
Linux用户SSH配置
将相应的pem保存到 .ssh 文件夹。在该文件内建立config文件,输入以下配置内容:
Host aws
HostName xxx.xxx.xxx.xxx
User ubuntu
IdentityFile ~/.ssh/your-key.pem
CompressionLevel 6
DynamicForward localhost:3128
Host 为设定一个名字给该连接,可任意选,此处用aws;
HostName 这里输入附加到该Instance的Elastic IP, 或者 public DNS 的连接,这些都可从Dashboard instance 信息里面看到;
User 因为之前EC2上建立的是ubuntu AMI,其默认的登录用户名为 ubuntu;
IdentityFile 需输入你的 pem 文件的路径;
DynamicForward 默认用localhost:3128,在后面的浏览器设置中要用到。
到此ssh配置完成。从temnial输入:
ssh aws
即可看到从远程EC2 Instance返回的登录成功信息。
通用的浏览器配置
前面是 Windows 用户和 Linux用户各自的SSH配置。接下来是通用的浏览器配置。
这里以Firefox为例。Preference -> Advanced-> Network -> Settings, 选择手动代理设置,SOCKS Host 中输入 localhost, 端口号3128, SOCKS vs。OK 确认。浏览器配置完毕。
http://175.41.240.188/blog/wp-content/uploads/2011/07/broswer1.png
这里针对 Firefox 再附加一点内容:
发现用同样的代理配置,其他浏览器正常工作,偏偏就 Firefox 不能登录> Google了一圈,现总结如下:
[*]在Firefox地址栏输入 about:config;
[*]有安全提示,点击继续;
[*]找到“network.proxy.socks_remote_dns”,双击改为True(默认False);
[*]可能需要重启Firefox。
已验证可行。看看墙外世界
输入一个撞墙网址试试看行还是不行。不管你行不行,反正我是行了。
http://175.41.240.188/blog/wp-content/uploads/2011/07/Blogger-300x229.png
几点提示:
[*]如果你想用password+userName 而不是pem的方式登录EC2 instance, 那么你需要修改/etc/ssh/sshd_config 文件,将其中的 PasswordAuthentication 由默认的 no 改为yes。使用passwd 设置该用户名下的密码。然后重启ssh server。
[*]你可以在系统中添加多位用户,使他们能用password方式登录,从而共享你的EC2 instance。
页:
[1]