【入门排坑】Windows之间使用OpenSSH的ssh免密登录,排坑
安装
安装OpenSSH
需要安装OpenSSH客户端和服务器,win10自带客户端,我们安装服务器即可。
设置 -- 应用 -- 可选功能 -- 添加 -- 添加 OpenSSH 服务器

配置
公钥
- 在客户端上,命令行执行
ssh-keygen -t rsa,这将生成两个文件id_rsa和id_rsa.pub。(注意:命令行不能使用中文的powershell,在使用powershell中文生成文件的时候默认使用utf-16编码而不是utf-8,这会导致公钥过长出现line 1 exceeds size limit错误) - 在服务端上,以用户身份打开 powershell,依次执行以下命令:
cd $env: USERPROFILE # 进入用户目录
mkdir. ssh # 新建.ssh文件夹(如果没有的话)
cd. ssh
New-Item authorized_keys # 创建文件authorized_keys
- 将
id_rsa.pub文件的内容从客户端粘贴到上一步中的.ssh\authorized_keys文件中; - 权限设置,将
.ssh\authorized_keys文件右键属性 -- 安全 -- 高级 -- 点击“禁用继承”--当出现提示时,选择“将继承的权限转换为此对象的显式权限”。然后将权限条目删除至只剩“SYSTEM”、自己的账户、“Administrators”。(此步我默认就是这三个用户,所以只用修改禁用继承)

- 重启服务:
net stop sshd
net start sshd
修改配置
- 打开sshd配置文件
C:\ProgramData\ssh\sshd.config,注意ProgramData是隐藏文件夹; - 编辑配置文件:
确保以下3条没有被注释
PubkeyAuthentication yes # 使用公钥
AuthorizedKeysFile .ssh/authorized_keys # 公钥位置
PasswordAuthentication no # 免密登录
确保以下2条有注释掉
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
- 重启服务:
net stop sshd
net start sshd
测试
回到客户端 ssh your_userName@your_IP_Adress,此时无需密码直接登录说明正常(首次登陆可能会提示是否加入known_hosts,yes即可)。
Tips
sshd debug
在ssh服务器中若想查看执行细节,可以:
- 关闭sshd服务
net stop sshd; - 使用
sshd -d开启sshd服务;
这样可以查看debug细节。
如果在执行ssh命令时想查看执行细节,可以使用参数 -vvv,三个v表示查看debug级别为3的细节,如:
ssh -vvv localhost
参考链接
【入门排坑】Windows之间使用OpenSSH的ssh免密登录,排坑的更多相关文章
- Windows和Linux下实现ssh免密登录
------------恢复内容开始------------ SSH是一种通讯协议,可以实现远程安全登录.可以通过如putty.MobaXterm等工具通过ssh安全登录到虚拟机进行操作. Opens ...
- Linux入门——SSH免密登录
SSH免密登录 1.简介 SSH是一种网络协议,用于计算机之间的加密登录. 本文针对的实现是OpenSSH,它是自由软件,应用非常广泛. 2.初始化公钥私钥 有rsa,dsa两种加密方式,生成的公钥私 ...
- windows配置ssh免密登录linux
客户端(windows)要做的事情 默认机器上已安装git,若没有,请先安装git 查看本地是否有ssh公钥文件夹,若没有,则创建文件夹 mkdir ~/.ssh //创建文件夹 生成公钥 邮箱最好为 ...
- Linux主机之间ssh免密登录配置方法
由于公司的生产环境有很多台Linux的CentOS服务器, 为了方便机子(假设两台机子A,B)互相之间免密ssh, scp命令操作,配置如下 1. 在A.B上分别创建本机的公钥和私钥,输入命令后连续三 ...
- 吴裕雄--天生自然 HADOOP大数据分布式处理:使用XShell远程连接主机与服务器并配置它们之间SSH免密登录
- SSH远程登录:两台或多台服务器之间免密登录设置
有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...
- windows使用vscode设置免密登录linux服务器
秘钥原理解释 id_rsa.pub是公钥,部署在服务器上 id_rsa是私钥,放在windows本地 本质上它们都是个文本文件 操作流程 生成秘钥对(windows和linux均可) ssh-keyg ...
- 集群中配置多台机器之间 SSH 免密码登录
集群中配置多台机器之间 SSH 免密码登录 问题描述 由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署. 但是,这就涉及到机器间的 SSH 免密码互通问题. 当集群机器比较多的时候 ...
- Ubuntu安装openssh安装ssh、 免密登录、 创建新用户并免密登录
一.安装openssh sudo apt-get install openssh-server ssh localhost 二.免密登录 cd ~/.ssh ssh-keygen ...
- Linux机器之间SSH免密钥登录设置
SSH免密钥登录 私钥:密钥留在本机 公钥:密钥发给其他机 hadoop01 生成密钥: ssh-keygen -t rsa (密钥存放路径:/root/.ssh) id_rsa:私钥 id_rsa. ...
随机推荐
- Python模块——os模块详解
- copy file from remote server to local
scp -r root@IP:/path/to/file(file path on the server) /path/to/filedestination(local path)
- jmeter之【报错记录】
{ "code": "E0001", "success": false, "description": "Co ...
- springboot项目记录3用户注册界面
九.注册-前端页面 1.在register页面中编写发送请求的方法,采用点击事件来完成.选中对应的按钮(JQuery下的)(( " 选 择 器 " ) ) , 选 中 某 一 个 ...
- MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因:同一个ip ...
- Oracle学习-----基本SQL select语句
一.基本select语句 SELECT 标识 选择那些列 FROM 标识从哪个表中选择 select * 标识 全部选择 select department_id, location_id ...
- kubeadm搭建k8s
一.kubeadm 部署 K8S 集群架构 主机名 IP地址 安装组件 master(2C/4G,cpu核心数要求大于2) 192.168.160.20 docker.kubeadm.kubelet. ...
- Kicad使用技巧--原理图复用
平时主要使用AD.kicad和立创eda,最近在琢磨一下各个软件的使用技巧,提升一下画图效率,首先想到的就是原理图复用,我想象中的原理图复用应该像AutoCAD的图块功能一样. 这次先说kicad,摸 ...
- AD使用积累 - AD原理图界面选中所有器件但不选中电气连接线
1.在随意一个器件上右键,选择查找相似对象. 2.在弹出的界面选择如下两项: 3.点击确定,会高亮所有元器件,这时再进行框选就可以只选中器件.
- IDEA创建Spring Boot项目无法连接http://start.spring.io 解决方法
1.修改代理 2. 搭建自己的SpringBoot initializer构建服务器 https://blog.csdn.net/KingBoyWorld/article/details/773732 ...