Win7 OpenSSH免密码登陆Window

  • Post author:
  • Post category:其他


在使用OpenSSH连接远程电脑时总是需要输入密码,很麻烦,所以需要配置成免密码登陆

1    OpenSSH下载


https://github.com/PowerShell/Win32-OpenSSH/releases

下载系统对应版本OpenSSH-Win32.zip  或 OpenSSH-Win64.zip

以下均以Win7 32BIT下安装 OpenSSH-Win32.zip 为例,

以下各个命令执行均在 OpenSSH-Win32.zip 解压的文件夹位置执行

2    安装

我们设定A(192.168.0.5)机为服务器,B机(192.168.0.6)为客户端,B机通过OpenSSH连接A机

A  A机安装SSH服务

解压 OpenSSH-Win32.zip ,打开CMD,并CD 到解压的文件夹下

命令行执行

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

(卸载则执行

powershell.exe -ExecutionPolicy Bypass –File uninstall-sshd.ps1)

安装后在 控制面板-管理工具-服务即可看到 OpenSSH Authentication Agent 和OpSSH SSH Server两个服务,开启服务,或者后面是用命令行启动服务

B  A机SSH配置

将解压目录下的 sshd_config_default 拷贝到 C:\ProgramData\ssh下,并更名为sshd_config,

更改如下几个参数(记得把前面的“#”号去掉)

StrictModes no

PubkeyAuthentication yes

AuthorizedKeysFile       .ssh/ id_rsa.pub

PermitEmptyPasswords no

C  客户端(B机) 生成密钥对

执行

ssh-keygen -t rsa


一路回车


即可在当前用户名下如


C:\Users\


当前用户名


\.ssh


下生成两文件


id_rsa


id_rsa.pub  ,


这个是公钥


,


将这个文件拷贝到


A


机对应位置;


这里要注意,如


sshd_config


里的配置是


AuthorizedKeysFile   .ssh/

id_rsa.pub


那么这个公钥文件要放到的对应用户名的


.ssh




如客户端


B


机使用帐号


aaaa


登陆


A





:ssh aaaa@

192.168.0.5


那么这个公钥文件就要放在


A


机的


C:\Users\aaaa \.ssh


下,否则找不到


当然如果


AuthorizedKeysFile


指定绝对路径就放在对应路径即可

D  连接

A机启动SSH服务,命令行执行 net start sshd

也可以直接去 管理工具-服务 里启动服务

关闭服务使用 net stop sshd

B机连接 ssh aaaa@192.168.0.5 ,

即可直接连接,无需输入密码



版权声明:本文为vc_learner原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。