Windows Azure Virtual Machine (25) 使用SSH登录Azure Linux虚拟机
《Windows Azure Platform 系列文章目录》
本文介绍内容适合于Azure Global和Azure China
为什么使用SSH登录Azure Linux虚拟机?
我们知道,在Azure平台创建的Linux虚拟机都会打开SSH。如果我们使用用户名和密码方式登录Azure Linux的话,安全性是非常差的。因为Azure Linux VM的SSH端口暴露在Internet上,会有不怀好意的黑客频繁登录我们创建的Azure Linux VM。如果我们没有设置强密码的话,笔者建议从以下三点来提高安全性:
1.如果客户端是固定公网IPV4地址,可以针对SSH端口设置Access Control List (ACL),可以参考:
Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
2.如果客户端是非固定公网IPV4地址,可以设置Linux SSH方式登录。这样安全性可以得到显著提高。
Linux SSH是一个非常成熟的技术,笔者也是Linux初学者,如果介绍有任何问题,还请读者轻拍,谢谢!
在开始本章之前,笔者的环境如下:
1.Azure账户,Azure China或者Azure Global都可以
2.本地笔记本电脑,安装Win10操作系统
3.下载OpenSSL for Windows,http://gnuwin32.sourceforge.net/packages/openssl.htm
4.下载PuttyGen,下载地址是:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
5.下载Putty
第一部分:我们需要通过OpenSSL,生成PEM文件
1.我们首先使用OpenSSL,生成PEM文件,如下:
# openssl.exe req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem
注:上面的-days 3650表示有效期为3650天
2.你的屏幕执行如下:

3.在上图的界面中,回答系统的问题。或者直接按回车
4.执行openssl.exe命令之后,会在同一目录下生成2个新的文件myPrivateKey.key和myCert.pem。
myCert.pem这个文件我们在创建Azure Linux VM的时候需要。
第二部分:我们登录Azure Portal,创建Linux VM。
在创建VM的时候,身份验证选择SSH密钥,如下图:

上图的证书,记得选择我们在步骤一中,使用OpenSSL生成的myCert.pem文件。
第三部分,使用PuttyGen,生成密钥。
1.我们运行puttygen.exe
2.执行File > Load a Private Key
3.选择我们在步骤一中生成的myPrivateKey.key
4.选择完毕后,在下图中,点击Save Private Key

5.保存的文件名为private.ppk
6.另外如果我们想导出ssh.com key的话,可以点击下图中的Conversions -> Export ssh.com key

第四部分,我们在本地笔记本电脑,运行Putty.exe
1.Host Name我们输入在Azure上创建的Azure Linux VM Cloud Service Name,如下图:

2.在Putty界面里,Connection > SSH > Auth。选择我们在步骤3中导出的private.ppk文件

3.然后我们点击连接Open,登录名选择我们在步骤二中设置的用户名azureuser。这样就可以直接登录了

Windows Azure Virtual Machine (25) 使用SSH登录Azure Linux虚拟机的更多相关文章
- [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- Windows Azure Virtual Machine (34) 保护Azure虚拟机
<Windows Azure Platform 系列文章目录> 请注意:我们在Azure上创建的虚拟机,都是可以通过公网IP地址来访问的.(直接通过虚拟机的IP地址:PIP,或者通过负载均 ...
- Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM
<Windows Azure Platform 系列文章目录> 本章将介绍如何使用Azure PowerShell,创建SSH登录的Linux VM 前提要求: 1.安装Azure Pow ...
- [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...
- [SQL in Azure] Windows Azure Virtual Machine Readiness and Capacity Assessment
http://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx http://blogs.technet.com/b/map ...
- Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM
<Windows Azure Platform 系列文章目录> Update: 2016-11-3,如果大家在使用Linux VM,使用FIO进行IOPS测试的时候,请使用以下命令: su ...
- Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 熟悉Azure平台的读者都知道,我们在使用Azure Virtual ...
随机推荐
- 基于现有数据库的Code First模式迁移更新数据库
本文讨论的内容是基于EF4.1版本.文中谈论的现有的数据库不是由EF创建.本文假定你已经对Code First迁移有一定的了解,如果不了解Code First迁移更新数据库可以查看 文章涉及的主题如下 ...
- 性能测试之--Apache JMeter安装
Hi,今天给大家分享一下安装JMeter的相关内容~ Apache JMeter 是Apache组织的开源项目,是一个100%纯Java桌面应用,用于压力测试和性能测试. 它能够对HTTP.FTP服务 ...
- python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序
导入的时候报出了 ImportError 在windows上安装python 的模块后,导入模块时报 python ImportError: DLL load failed: %1 不是有效的 Win ...
- swift 如何给tabBarItem的相关设计
//设置tabBarItem的title,以及点击和不点击状态图片 self.tabBarController.tabBarItem = UITabBarItem(title: "投资理财& ...
- python中文编码
前面章节中我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题 ...
- linux权限管理
安全上下文:在linux系统中每个进程均以某个用户的身份运行,进程访问资源的权限取决于发起此进程的那个用户的权限 权限应用模型: 1)判断运行此进程的用户是否与被访问的资源的属主相同,如果相同,则运用 ...
- 安卓奇葩问题之:运行OK,打包安装崩溃(原因是:代码不规范导致编译出错)
咳咳,还是那句话,真是日了狗了 这个问题真的很难找,废话不多少,上酸菜. 报错信息是这个方法返回的图片找不到 public static int getImgID(boolean isBig, int ...
- 广义Euler常数
对于区间(a,b)内f''(x)>0 那么在该区间内函数的一阶导数对应切线在该区间内只与f(x)在切点相交 1. f''(x)>0那么可知 f'(x)在该区间内是单调增的 以下图为例,过( ...
- Tomcat中使用JNDI加载JDBC数据源
以前写JDBC的时候总是手工写一个类,用硬代码写上className.url.用户名和密码什么的,然后通过DriverManager获取到Connection.那样写是很方便,但是如果想更改的话,需要 ...
- nginx简易安装
yum -y install perl-ExtUtils-Embed ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx ...