Azure VM 中的 SFTP RSA 身份验证
SFTP RSA authentication in Azure VM
要求- 使用带有密钥
的 WinSCP 从本地 windows 机器连接 SFTP 服务器
技术 - 我有 Azure VM(Windows 2012 服务器 R2),其中为 SFTP 安装了 Cygwin64。
我想使用 RSA 身份验证(即使用密钥)连接 SFTP 服务器。
我已经为 RSA 身份验证编辑了 sshd_config 文件。在 cygwin64 文件夹中,我还创建了 .ssh 文件夹并在该 Authorized_keys 文件下。
从本地机器使用 putty 我生成了 Public 私钥和这个 public 密钥我已经在授权密钥文件中输入但是当我尝试连接那个私钥时它说"Server refused our key"
I have entered in Authorized keys file but when I am trying to connect
with that Private key it is saying "Server refused our key"
如果您看到此类消息,您应该做的第一件事就是仔细检查您的服务器配置。常见错误包括在 public 密钥上设置了 错误的权限或所有权 或在服务器上 用户的主目录 。
也许您可以按照这些步骤使用私钥设置 CYGWIN 身份验证:
1.安装 GYCWIN(OpenSSH和cyg运行srv)
2.配置 sshd 使用此命令ssh-host-config -y
3.使用此命令启动 SSHD 服务cygrunsrv --start sshd
4.Add 你的 public key 到 authorized_keys
(我们可以复制 public key 到这个文件):
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
顺便说一句,如果你找不到这个目录,你可以使用ssh-keygen.exe
命令创建这个目录/home/user/.ssh,如果找不到这个文件authorized_keys
,我们应该创建它,运行这个命令chmod 600 authorized_keys
之后,我们可以使用其他 Linux VM 来 SSH 或 SFTP 这个 VM(我们应该在 Azure NSG 入站规则上打开端口 22)。
如果要使用winscp 登录此VM,我们应该将私钥转换为.ppk
。这样我们就可以使用这个key来登录这个SFTP了。
注:
我们可以使用 winscp 将 .key
转换为 .ppk
.
为了测试,您可以尝试使用 Putty 使用您的私钥登录 azure vm,以确保您使用的是正确的私钥和 public 密钥。
更新:
我们可以这样添加open ssh和sftp:
要求- 使用带有密钥
的 WinSCP 从本地 windows 机器连接 SFTP 服务器技术 - 我有 Azure VM(Windows 2012 服务器 R2),其中为 SFTP 安装了 Cygwin64。 我想使用 RSA 身份验证(即使用密钥)连接 SFTP 服务器。
我已经为 RSA 身份验证编辑了 sshd_config 文件。在 cygwin64 文件夹中,我还创建了 .ssh 文件夹并在该 Authorized_keys 文件下。
从本地机器使用 putty 我生成了 Public 私钥和这个 public 密钥我已经在授权密钥文件中输入但是当我尝试连接那个私钥时它说"Server refused our key"
I have entered in Authorized keys file but when I am trying to connect with that Private key it is saying "Server refused our key"
如果您看到此类消息,您应该做的第一件事就是仔细检查您的服务器配置。常见错误包括在 public 密钥上设置了 错误的权限或所有权 或在服务器上 用户的主目录 。
也许您可以按照这些步骤使用私钥设置 CYGWIN 身份验证:
1.安装 GYCWIN(OpenSSH和cyg运行srv)
2.配置 sshd 使用此命令ssh-host-config -y
3.使用此命令启动 SSHD 服务cygrunsrv --start sshd
4.Add 你的 public key 到 authorized_keys
(我们可以复制 public key 到这个文件):
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
顺便说一句,如果你找不到这个目录,你可以使用ssh-keygen.exe
命令创建这个目录/home/user/.ssh,如果找不到这个文件authorized_keys
,我们应该创建它,运行这个命令chmod 600 authorized_keys
之后,我们可以使用其他 Linux VM 来 SSH 或 SFTP 这个 VM(我们应该在 Azure NSG 入站规则上打开端口 22)。
如果要使用winscp 登录此VM,我们应该将私钥转换为.ppk
。这样我们就可以使用这个key来登录这个SFTP了。
注:
我们可以使用 winscp 将 .key
转换为 .ppk
.
为了测试,您可以尝试使用 Putty 使用您的私钥登录 azure vm,以确保您使用的是正确的私钥和 public 密钥。
更新:
我们可以这样添加open ssh和sftp: