Linux Azure VM中的SFTP RSA身份验证
要求-使用带密钥的WinSCP从本地windows计算机连接SFTP服务器 技术-我有Azure VM(Windows 2012服务器R2),其中为SFTP安装了Cygwin64。 我想使用RSA身份验证(即使用密钥)连接SFTP服务器 我已经编辑了用于RSA身份验证的sshd_配置文件。在cygwin64文件夹中,我还创建了.ssh文件夹和授权密钥文件 使用putty从本地机器生成了公钥和私钥,我在授权密钥文件中输入了该公钥,但当我试图连接该私钥时,它会说“服务器拒绝了我们的密钥” 我已输入授权密钥文件,但在尝试连接时 对于私钥,它表示“服务器拒绝了我们的密钥” 如果您看到这种类型的消息,首先应该仔细检查服务器配置。常见错误包括在公钥上设置了错误的权限或所有权,或在服务器上设置了用户的主目录 也许您可以按照这些步骤设置CYGWIN使用私钥进行身份验证:Linux Azure VM中的SFTP RSA身份验证,linux,azure,cygwin,sftp,azure-virtual-machine,Linux,Azure,Cygwin,Sftp,Azure Virtual Machine,要求-使用带密钥的WinSCP从本地windows计算机连接SFTP服务器 技术-我有Azure VM(Windows 2012服务器R2),其中为SFTP安装了Cygwin64。 我想使用RSA身份验证(即使用密钥)连接SFTP服务器 我已经编辑了用于RSA身份验证的sshd_配置文件。在cygwin64文件夹中,我还创建了.ssh文件夹和授权密钥文件 使用putty从本地机器生成了公钥和私钥,我在授权密钥文件中输入了该公钥,但当我试图连接该私钥时,它会说“服务器拒绝了我们的密钥” 我已输入授
1.安装GYCWIN(OpenSSH和cygrunsrv)
2.configuresshd使用此命令
ssh主机配置-y
3.使用此命令启动SSHD服务
cygrunsrv--Start SSHD
4.将您的公钥添加到
授权密钥
(我们可以将公钥复制到此文件):
顺便说一下,如果你找不到这个目录,你可以使用ssh keygen.exe
命令创建这个目录/home/user/.ssh,如果你找不到这个文件授权密钥
,我们应该创建它,然后运行这个命令chmod 600授权密钥
之后,我们可以使用其他Linux虚拟机来SSH或SFTP此虚拟机(我们应该在Azure NSG入站规则上打开端口22)。如果您想使用winscp登录此VM,我们应该将私钥转换为
.ppk
。通过这种方式,我们可以使用此密钥登录此SFTP
注:我们可以使用winscp将
.key
转换为.ppk
对于测试,您可以尝试使用Putty使用您的私钥登录azure vm,以确保使用正确的私钥和公钥
更新:我们可以像这样添加OpenSSH和sftp: 我已输入授权密钥文件,但在尝试连接时 对于私钥,它表示“服务器拒绝了我们的密钥” 如果您看到这种类型的消息,首先应该仔细检查服务器配置。常见错误包括在公钥上设置了错误的权限或所有权,或在服务器上设置了用户的主目录 也许您可以按照这些步骤设置CYGWIN使用私钥进行身份验证:
1.安装GYCWIN(OpenSSH和cygrunsrv)
2.configuresshd使用此命令
ssh主机配置-y
3.使用此命令启动SSHD服务
cygrunsrv--Start SSHD
4.将您的公钥添加到
授权密钥
(我们可以将公钥复制到此文件):
顺便说一下,如果你找不到这个目录,你可以使用ssh keygen.exe
命令创建这个目录/home/user/.ssh,如果你找不到这个文件授权密钥
,我们应该创建它,然后运行这个命令chmod 600授权密钥
之后,我们可以使用其他Linux虚拟机来SSH或SFTP此虚拟机(我们应该在Azure NSG入站规则上打开端口22)。如果您想使用winscp登录此VM,我们应该将私钥转换为
.ppk
。通过这种方式,我们可以使用此密钥登录此SFTP
注:我们可以使用winscp将
.key
转换为.ppk
对于测试,您可以尝试使用Putty使用您的私钥登录azure vm,以确保使用正确的私钥和公钥
更新:我们可以像这样添加OpenSSH和sftp:不,它仍然会从WinSCP中产生相同的问题“服务器拒绝我们的密钥”。我用600模式更改了授权密钥,但仍然不工作。您可以使用putty登录此vm吗使用此私钥实际上vm是Windows Server 2012。我正在这上面安装SFTP。我明白了,你是说你只安装cygrunsrv而不安装openssh?openssh和cygrunsrv(SFTP)提供了cygwin的所有功能。您安装了哪个版本的cygwin,是否将openssh添加到此虚拟机?或者你能在这个虚拟机上重新安装cygwin吗?不,它仍然会从WinSCP中产生同样的问题“服务器拒绝我们的密钥”。我用600模式更改了授权密钥,但仍然不工作。你能使用putty登录这个虚拟机吗?使用这个私钥实际上虚拟机是Windows Server 2012。我正在这上面安装SFTP。我明白了,你是说你只安装cygrunsrv而不安装openssh?openssh和cygrunsrv(SFTP)提供了cygwin的所有功能。您安装了哪个版本的cygwin,是否将openssh添加到此虚拟机?或者你能在这个虚拟机上重新安装cygwin吗?
jason@jasonvm ~/.ssh
$ ls -a
. .. authorized_keys id_rsa id_rsa.pub id_rsa1 known_hosts
$ cat authorized_keys
ssh-rsa AAAAB3Nxxx.......xxxxzaAVbeVFw==
jason@jasonvm ~/.ssh
$ pwd
/home/jason/.ssh