如何在 Windows Azure 中将 SSH 用于 Linux
本主题描述了用于生成与 Windows Azure 兼容的 SSH 密钥的步骤。
当前版本的 Windows Azure 管理门户只接受封装在 X509 证书中的 SSH 公钥。按照下列步骤操作可生成 SSH 密钥并将其与 Windows Azure 配合使用。
在 Linux 上获取 OpenSSL
若要在 Linux 计算机上获取 Openssl,请使用本机包管理解决方案进行 Linux 分发:
- Redhat/CentOS:
yum install openssl
- Debian:
apt-get install openssl
- Ubuntu:
apt-get install openssl
在 Linux 中生成 Windows Azure 兼容密钥
-
使用
openssl
生成带 2048 位 RSA 密钥对的 X509 证书。请回答openssl
提示的几个问题(您可以将其保留为空)。平台不使用这些字段中的内容。openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem
-
更改私钥的权限可对其进行保护。
chmod 600 myPrivateKey.key
-
在创建 Linux 虚拟机时上载
myCert.pem
。设置过程会自动将此证书中的公钥安装到虚拟机中指定用户的authorized_keys
文件中。 -
如果您将直接使用 API,且不使用管理门户,请使用以下命令将
myCert.pem
转换为myCert.cer
(DER 编码的 X509 证书):openssl x509 -outform der -in myCert.pem -out myCert.cer
从 Linux 连接到 Windows Azure 虚拟机
在特定端口(此端口可能与使用的标准端口不同)中使用 SSH 设置每个 Linux 虚拟机,以便您
- 从管理门户中查找将用于连接到 Linux 虚拟机的端口。
-
使用
ssh
连接到 Linux 虚拟机。在您首次登录时,系统将提示您接受主机公钥的指纹。ssh -i myPrivateKey.key -p <port> username@servicename.chinacloudapp.cn
- (可选)您可以将
myPrivateKey.key
复制到~/.ssh/id_rsa
,以便您的 openssh 客户端可自动选取它而无需使用-i
选项。
在 Windows 上获取 OpenSSL
使用 msysgit
- 从以下位置下载和安装 msysgit:http://msysgit.github.com/
- 从安装的目录运行
msys
(示例:c:\msysgit\msys.exe) - 通过键入
cd bin
更改为bin
目录
使用针对 Windows 的 GitHub
- 从以下位置下载和安装针对 Windows 的 GitHub:http://windows.github.com/
- 从“开始”菜单 >“所有程序”>“GitHub, Inc”运行 Git Shell
使用 cygwin
- 从以下位置下载和安装 Cygwin:http://cygwin.com/
- 确保安装了 OpenSSL 包及其所有依赖项。
- 运行
cygwin
在 Windows 上创建私钥
- 按照上述某组说明进行操作以便能够运行
openssl.exe
-
键入以下命令:
openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem
-
您的屏幕应与下图中所示类似:
-
回答询问的问题。
- 应已创建两个文件:
myPrivateKey.key
和myCert.pem
。 -
如果您将直接使用 API,且不使用管理门户,请使用以下命令将
myCert.pem
转换为myCert.cer
(DER 编码的 X509 证书):openssl.exe x509 -outform der -in myCert.pem -out myCert.cer
为 Putty 创建 PPK
- 从以下位置下载和安装 puttygen:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- 运行
puttygen.exe
- 单击菜单:“文件”>“加载私钥”
- 查找名为
myPrivateKey.key
的私钥。您将需要更改文件筛选器以显示所有文件 (*.*) -
单击“打开”。您将收到与下面类似的提示:
-
单击“确定”。
-
单击在下面的屏幕快照中突出显示的“保存私钥”:
-
将文件另存为 PPK。
使用 Putty 连接到 Linux 计算机
- 从以下位置下载和安装 putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- 运行 putty.exe
-
从管理门户使用 IP 填充主机名。
-
在选择“打开”之前,请单击“连接”>“SSH”>“Auth”选项卡可选择密钥。在下面的屏幕快照中查找要填充的字段。
-
单击“打开”连接到您的虚拟机。