《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.keymyCert.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虚拟机的更多相关文章

  1. [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  2. [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  3. [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  4. Windows Azure Virtual Machine (34) 保护Azure虚拟机

    <Windows Azure Platform 系列文章目录> 请注意:我们在Azure上创建的虚拟机,都是可以通过公网IP地址来访问的.(直接通过虚拟机的IP地址:PIP,或者通过负载均 ...

  5. Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM

    <Windows Azure Platform 系列文章目录> 本章将介绍如何使用Azure PowerShell,创建SSH登录的Linux VM 前提要求: 1.安装Azure Pow ...

  6. [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...

  7. [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 ...

  8. Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM

    <Windows Azure Platform 系列文章目录> Update: 2016-11-3,如果大家在使用Linux VM,使用FIO进行IOPS测试的时候,请使用以下命令: su ...

  9. Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 熟悉Azure平台的读者都知道,我们在使用Azure Virtual ...

随机推荐

  1. SQL数据库

    SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出“做什么”的命令,“怎么做” ...

  2. datagridview 定位到最后一行,定位不准的原因

    C# 写的 winform 程序,定位到最后一行 dgvGoods.FirstDisplayedScrollingRowIndex = dgvGoods.Rows.Count - 1; 测试中发现,一 ...

  3. Win7上的ASP.NET MVC3项目在Win10上运行的一个坑

    先解释一下问题:我原来的电脑环境是Win7+VS2015,因为新换了个电脑环境变成Win10+VS2015了,所以就把原先的项目复制到新的机器上,那么问题来了,原先的一个项目在VS2015上打开竟然直 ...

  4. javascript总结

    javascript:它是一种script脚本语言           脚本语言:就是可以和HTML混合在一起使用的语言,可以用来在IE的客                    户端进行程序编制,从 ...

  5. UnicodeEncodeError: 'ascii' codec can't encode characters in position问题的解决办法

    今天刚开始用ulipad写python代码 代码如下 #! /usr/bin/env python#coding=utf-8a = int(raw_input('请输入一个数:'))if a<1 ...

  6. Maven使用第三方jar文件的两种方法

    转于http://blog.csdn.net/youhaodeyi/article/details/1729116 主要用于回查与标记 在Maven中,使用第三方库一般是通过pom.xml文件中定义的 ...

  7. some tips learn from work experience

    1.you can't avoid office politics 2.you'll never have a job which you "can't quit" - if yo ...

  8. 如何获取URL中的参数

    获取URL中的某个参数或者所有参数以便我们后续去修改这个地址,在程序中是非常必要的.网上有很多这样的代码片段,为了以后查阅方便,顺便整理思路,下面使用2种方法来获取URL中的某个参数. 方法一 ,sp ...

  9. (转)Linux的启动过程

    原文链接:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 半年前,我写了<计算机是如何启动的?>,探讨BIOS ...

  10. step by step设置postgresql用户密码并配置远程连接

    设置pgsql默认用户posgres的密码 1.确认pgsql是开启的 /etc/init.d/postgresql status 2.使用默认用户登录 sudo su postgres 3.进入ps ...