
Windows安装OpenSSH配置免密登录
Windows安装OpenSSH配置免密登录
安装OpenSSH
Windows安装OpenSSH配置免密登录
安装Windows自带的OpenSSH
进入设置---应用---可选功能---添加功能,选择客户端和服务器进行安装
下载压缩包进行安装
下载对应的OpenSSH-Win64 https://github.com/PowerShell/Win32-OpenSSH/releases
解压后需要安装sshd服务,通过管理员启动PowerShell,进入到OpenSSH-Win64的解压目录,执行如下命令
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
将解压路径配置到环境变量
开放22端口执行如下命令:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
启动sshd服务
win+r运行窗口输入services.msc,找到OpenSSH SSH Server,并选择启动类型为自动,并启动服务
回环连接测试
测试本地连接
ssh 用户名@ip # 一直连不上考虑用户组或域,如下 ssh 用户组名(域名称)/用户名@ip
输入密码,连接后使用exit退出
配置免密登录
客户端生成密钥,在客户端的PowerShell或CMD中输入ssh-keygen -t rsa -C “192.168.31.19”,用-C来指定所指定的注释,可以方便用户识别这个密钥,了解密钥的用途或其他有用的信息。
生成的秘钥默认存储在C:\Users\用户名\.ssh目录下
将公钥分发给远程服务主机C:\Users\用户名\.ssh目录的authorized_keys文件中,文件没有就创建,文件已存在则追加
# 在Windows中,路径使用反斜杠(\)作为分隔符。在Linux和Unix系统中,路径使用正斜杠(/)作为分隔符。 # 不存在authorized_keys,可以直接使用下面一行的命令 scp C:\Users\IN23090010\.ssh\id_rsa.pub ravogroup\in23090010@192.168.31.19:C:\IN23090010\.ssh\authorized_keys # 存在authorized_key,可以先copy过去再追加 scp C:\Users\IN23090010\.ssh\id_rsa.pub ravogroup\in23090010@192.168.31.19:C:\IN23090010\.ssh\1921683119_pub ssh ravogroup\in23090010@192.168.31.19 "type C:\IN23090010\.ssh\1921683119_pub >> C:\IN23090010\.ssh\authorized_keys"
远程服务主机上的authorized_keys公钥文件的权限设置为当前用户、system、Administrators,删除其他组和用户
修改sshd服务配置文件"C:\ProgramData\ssh\sshd_config",ProgramData为隐藏文件夹
# 打开公钥认证 PubkeyAuthentication yes # 注释最后两行 #Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
重启sshd
net stop sshd net start sshd
测试免密成功,如不成功,确认是否有权限修改sshd_config配置文件