EC2 + SSH连接 3/3— SSH 设置

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 private key”,输入文件名,即可保存为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 确认。浏览器配置完毕。

这里针对 Firefox 再附加一点内容:

发现用同样的代理配置,其他浏览器正常工作,偏偏就 Firefox 不能登录 Facebook 和 Twitter,而除这两个外,其他网站却都可以正常浏览。

Google了一圈,现总结如下:

  • Firefox地址栏输入 about:config 
  • 有安全提示,点击继续;
  • 找到“network.proxy.socks_remote_dns”,双击改为True(默认False);
  • 可能需要重启Firefox。
已验证可行。

几点提示:

  1. 如果你想用password+userName 而不是pem的方式登录EC2 instance, 那么你需要修改 /etc/ssh/sshd_config 文件,将其中的 PasswordAuthentication 由默认的 no 改为 yes。使用passwd 设置该用户名下的密码。然后重启ssh server。
  2. 你可以在系统中添加多位用户,使他们能用password方式登录,从而共享你的EC2 instance。
发表评论?

7 条评论。

  1. 这东西很不错,谢谢

  2. 请问为什么我自己建立的instance就连接不上呢,总是提示timeout

  3. 额,我问一个弱b问题,注册完ec2以后,就有用户名密码和ip了吗。(用楼主提供的的看网页很好,看视频就不行了)还有,ssh怎么用来连游戏,比如我在国内登美服。我查了下ip,楼主提供的貌似都是爱尔兰的ip,是不是最好用近一点的ip比如香港的,这个ec2有没有选项的?。。麻烦了。
    真的挺麻烦。。

    • 1. 首先你注册到的是亚马逊aws的帐号,ec2仅是该帐号所拥有的诸多产品之一。
      2. ec2 instance需要你自己去建立。建立时,会让你下载一个pem文件,这个文件是你以后登录你的 ec2 instance的凭证。
      3. 如果你想用固定的一个Ip地址来登录你的ec2 instance, 那么可以用elastic IP。也还是自己单独去申请,拿到后再绑定到ec2 instance上。
      4. 目前亚马逊提供的区域里面,亚洲的只有日本和新加坡。

  4. 你的网站很美,再问一句,原先我用secret socks翻墙能行,现在不行了,怎么办?

  5. 需要上国外网站的,朋友推荐一个代理http://www.myssh.org,多线程技术,速度很快。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据