Amazon的EC2服务器可以理解为虚拟机,不过它是不需要安装系统的,它是根据镜像自动创建的。在申请EC2的时候,可以选择操作系统的类型,如Redhat Enterprise 6或ubuntu 12等,我个人对它们没有偏好。如果选择的是linux系统,则同时会生在一个*.pem文件,里面大概存的是私钥和公钥。具体的文档还没有看。
那么下面就说怎么登录。
Linux下登录EC2
Linux登录就比较方便了,直接输入命令。(前提是你的linux下有ssh客户端)
ssh -i xxx.pem root@ec2-46-137-51-12.eu-west-1.compute.amazonaws.com
Linux下拷贝文件到EC2
scp -i xxx.pem ~/s.zip root@ec2-46-137-51-12.eu-west-1.compute.amazonaws.com:/opt/
上面的命令是把本地的~/s.zip拷贝到EC2的/opt/下
Windows下登录EC2
用SecureCRT登录, 需要根据xxx.pem生成一个公钥文件xxx.pem.pub。不过生成*.pub还是需要linux下进行:
$ chmod 700 xxx.pem
$ ssh-keygen -y -f xxx.pem >xxx.pem.pub
就是说,先改一下*.pem的权限,然后再用ssh-keygen制作 pub文件
在SecureCRT下,会话选项,公钥,属性
然后先把xxx.pem.pub即可。需要注意的是,要把*.pem和*.pem.pub放在同一目录下
这样就可以了
WinSCP登录
WinSCP用于向EC2服务器上传或下载文件,以目录树的形式展示,是比较方便的。不幸的是,WinSCP既不能使用*.pem,也不能用*.pub。它使用的是putty的鉴权文件*.ppk。那*.ppk文件怎么生成呢?
(1) 从putty官网上下载新的zip包,运行里面的PUTTYGEN.EXE程序
(2) 执行Conversions | Import Key,先把*.pem,程序会自动显示里面的内容。然后点Save Private Key按钮,保存为xxx.ppk。(PPK = Putty Private Key? )
(3) 打开WinSCP
注意先把刚才生成的密解文件*.ppk
然后就可以连接上了。
用PUTTY的PSCP.EXE
这是一个Windows下的命令行,PUtty系列工具之一
其命令行参数和linux下是一样的(好像记不清了,谁帮我确认一下)
pscp.exe -i xxx.pem d:/s.zip root@ec2-46-137-51-12.eu-west-1.compute.amazonaws.com:/opt/
修改EC2的SSH配置
个人认为可以修改SSH的配置,还原为以用户名密码登录,这个~/.ssh/下的配置有关。具休有待研究。