如何在Windows计算机(SSH客户端)上设置SSH密钥以访问Azure Linux VM?


15

谷歌搜索是徒劳的,因为大多数人对此问题的变化略有不同。

我正在尝试使用SSH(无密码)设置Azure Linux VM,以便从Windows计算机进行访问。2018更新:最初的要求是使用WinSCP,但是我可以使用Putty代替(在Windows计算机上,这是SSH客户端)。

在Windows上,如何使用尽可能少的其他工具来设置Azure Linux VM并生成所需的密钥?


1
SSH密钥只是密钥,而不是证书。使用xca之类的工具制作证书。
LawrenceC

Answers:


16

首先,您需要以OpenSSH authorized_keys文件的格式获取公共密钥。


在获取authorized_keys格式的公钥后,在配置Azure Linux计算机时(或在重置公钥时)将其粘贴到“ SSH公钥”框中:

在此处输入图片说明


1
那不行 Azure经历了VM设置的初始阶段,但随后因抱怨密钥不符合X.509而中止。
Alex R

1
好的,我按照azure.microsoft.com/zh-cn/documentation/articles/…上的说明进行操作,并且它们起作用了。基本上,您运行“ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem”。.pem需要通过Azure门户上载。(我之所以没有将其发布为答案,是因为我是在Mac上完成的,并且发帖人要求Windows解决方案。Google搜索表明存在Windows的OpenSSL发行版,但我没有尝试过。)
Rohit Chatterjee

1
另外,我在上面的评论中生成的私钥myPrivateKey.key需要导入到PuttyGen中并转换为PPK。腻子将不使用.key文件。
罗希特·查特吉

@RohitChatterjee真是误会。OP询问了私钥(给人一种印象,他想将其用作主机密钥),而问题实际上是关于公钥。我已经相应更新了答案。
马丁·普里克里

实际上,这还差一点,因为我想使用WinSCP,而不是Putty。我将再次编辑问题以使答案正确。
亚历克斯R

2

@Rohit Chatterjee在评论中提供了正确答案:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem

说明:

Azure门户在虚拟机置备过程中要求提供PEM / CER(尽管可以提供密码)。PuttyGen按照此答案的说明从PPK创建PEM,但门户不接受输出。如果我能解决这个问题,我会在这里发布答案... – Rohit Chatterjee 1月29日4:18 1投票

好的,我按照azure.microsoft.com/zh-cn/documentation/articles/…上的说明进行操作,并且它们起作用了。基本上,您运行“ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem”。.pem需要通过Azure门户上载。(我之所以没有将其发布为答案,是因为我是在Mac上完成的,并且发帖人要求Windows解决方案。Google搜索表明存在Windows的OpenSSL发行版,但我没有尝试过。)– Rohit Chatterjee 1月29日在4:49

另外,我在上面的评论中生成的私钥myPrivateKey.key需要导入到PuttyGen中并转换为PPK。腻子将不使用.key文件。–罗希特·查特吉1月29日4:51


0

我看到这是一个比较老的问题,但是如果您使用的是Windows 10,现在可以从Windows Linux子系统进行SSH了。为此,只需像在常规Linux中那样设置密钥即可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.