【入门排坑】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. ...
随机推荐
- edge 浏览器部分功能
模拟打印情况的调试
- Docker系列--Docker设置系统资源限制及验证
1.限制容器的资源 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源.Docker提供了控制容器可以使用多少内存或CPU的方法,设置docker run命令的运行时配置标 ...
- docker临时指定时区
如果制作镜像时,未配置时区,默认指向了 UTC ,可使用类似如下方式临时指向北京时间,或上海时间 docker exec -it --user=root gitlab-ce_12.2.4 ln -sf ...
- k8s集群部署kafka
一.部署步骤 1.部署NFS并挂载共享目录 2.部署zookeeper集群 3.部署kafka集群 4.测试kafka 二.部署NFS并挂载共享目录 注:使用云产品的NAS存储可跳过此步骤 1.服务端 ...
- CentOS切换gcc
centos默认的gcc版本太老了,有时候需要用新版本的gcc,编译gcc太麻烦可以使用centos提供的scl功能快速切换gcc版本 yum install centos-release-scl y ...
- C语言历史与C++的区别
前期演变: C语言的前身是1967年由Martin Richards为开发操作系统和编译器而提出的两种高级程序设计语言BCPL和B.BCPL.Ken Thompson在BCPL的基础上,提出了新的功能 ...
- python中的变量定义
1 变量名:由下划线.字母和数字组成 2 python中变量名的特殊含义: xx:标准的标识符,共有的 _xx:只是在from - import *时是不会被导入的,其他导入方式会被引入 隐藏变量还有 ...
- 08.File类与IO流
一.File 类 是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. Java 把电脑中的文件和文件夹(目录)封装为了一个 File 类. File 类是与系统无关的类,任何操 ...
- Flush cache via menu in D365FO
Most of the time it is a caching issue because D365fO is (like previous versions) a master of cachin ...
- pod控制器
Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后 ...