Azure中创建安全Linux 虚机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure中创建安全Linux 虚机相关的知识,希望对你有一定的参考价值。
由于密码易受到强力破解攻击,特别是在面向 Internet 的 VM(如 Web 服务器)上。连接到 Azure 中的 Linux 虚拟机 (VM) 时,应使用公钥加密提供更安全的方式登录到 Linux VM。 此过程涉及使用安全外壳 (SSH) 命令进行公钥和私钥交换,对自己(而不是用户名和密码)进行身份验证。笔者将通过本文介绍如何如何在 Windows 计算机上生成相应的密钥并在Azure中创建Linux虚机时使用SSH密钥。Azure 需要至少 2048 位采用 ssh-rsa 格式的公钥和私钥。可以使用ssh-keygen或者openssl工具来生成相关的密钥,这两个工具在git中都有提供,我们需要先安装git。
1、安装Git
从以下位置下载并安装 Git for Windows:https://git-scm.com/。
在安装过程中,除非特别需要更改选项,否则请接受默认选项。
从“开始”菜单 > “Git” > “Git Bash”运行“Git Bash”。
2、创建ssh私钥
在“Git Bash”窗口中,使用 openssl.exe
创建私钥。 以下示例创建名为 myPrivateKey
的密钥和名为 myCert.pem
的证书:
openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout myPrivateKey.key -out myCert.pem
应答国家/地区名称、位置、组织名称等提示。其中国家使用2个字符的代码,中国为cn
将在当前工作目录中创建新的私钥和证书。 为了安全起见,应在私钥上设置权限,以便只有可以访问它:chmod 0600 myPrivateKey.key
3、为 PuTTY 创建私钥
PuTTY 是适用于 Windows 的常见 SSH 客户端。 可随意使用任何所需的 SSH 客户端。 要使用 PuTTY,需要创建其他类型的密钥 - PuTTY 私钥 (PPK)。
使用 Git Bash 将私钥转换为 PuTTYgen 可以识别的 RSA 私钥。 以下示例基于名为 myPrivateKey
的现有密钥创建名为 myPrivateKey_rsa
的密钥:openssl rsa -in ./myPrivateKey.key -out myPrivateKey_rsa
为了安全起见,应在私钥上设置权限,以便只有可以访问它:chmod 0600 myPrivateKey_rsa
从以下位置下载并运行 PuTTYgen:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
单击菜单:“文件” > “加载私钥”
找到私钥(前面的示例中的 myPrivateKey_rsa
)。 启动 Git Bash 时的默认目录是 C:\Users\%username%
。 更改文件筛选器以显示“所有文件 (*.*)”:
单击“打开”。公钥会显示在“PuTTYgen”窗口的顶部。 创建 Linux VM 时,将此公钥复制并粘贴到 Azure 门户或 Azure 资源管理器模板中。 也可以单击“保存公钥”将副本保存到计算机中:
4、Azure中创建安全Linux虚机
登录Azure门户,然后创建虚拟机,在创建 Linux VM 时将此上述公钥复制并粘贴到 Azure 门户。 然后,此公钥通常存储在新 VM 上的 ~/.ssh/authorized_keys
中。
返回到 PuTTYgen 中,单击“保存私钥”:会显示一个提示,询问是否想要继续,而不输入密钥的通行短语。 通行短语就像附加到私钥的密码。 即使有人获取了私钥,他们仍将不能只使用密钥进行身份验证。 他们还需要通行短语。 没有通行短语,如果有人获取了私钥,他们可以登录到使用该密钥的任何 VM 或服务。 建议创建一个通行短语。 但是,如果忘记了通行短语,将没有办法恢复它。
如果要输入通行短语,请单击“否”,在主要的 PuTTYgen 窗口中输入通行短语,再次单击“保存私钥”。 否则,请单击“是”以继续,而不提供可选的通行短语。
5、使用 Putty 通过 SSH 登录到 Linux 计算机
从以下位置下载并运行 putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
在 Putty Hostname中填写 [email protected](或[email protected]主机名)如下图
注意:不能只填写IP地址或者主机名,否则连接后还会出现让你输入用户名密码。
在选择“打开”之前,单击“连接” > “SSH” > “身份验证”选项卡。浏览到私钥并选择它:
点击open,即可直接连接到Azure中的该台Linux虚机,无需再输入用户名和密码。
以上是关于Azure中创建安全Linux 虚机的主要内容,如果未能解决你的问题,请参考以下文章
Azure Linux 虚机图像化配置之二:Ubuntu配置