安装

安装OpenSSH

需要安装OpenSSH客户端和服务器,win10自带客户端,我们安装服务器即可。

设置 -- 应用 -- 可选功能 -- 添加 -- 添加 OpenSSH 服务器

配置

公钥

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

  5. 重启服务:
net stop sshd
net start sshd

修改配置

  1. 打开sshd配置文件 C:\ProgramData\ssh\sshd.config ,注意 ProgramData 是隐藏文件夹;
  2. 编辑配置文件:
确保以下3条没有被注释
PubkeyAuthentication yes # 使用公钥
AuthorizedKeysFile .ssh/authorized_keys # 公钥位置
PasswordAuthentication no # 免密登录 确保以下2条有注释掉
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
  1. 重启服务:
net stop sshd
net start sshd

测试

回到客户端 ssh your_userName@your_IP_Adress,此时无需密码直接登录说明正常(首次登陆可能会提示是否加入known_hosts,yes即可)。

Tips

sshd debug

在ssh服务器中若想查看执行细节,可以:

  1. 关闭sshd服务 net stop sshd
  2. 使用 sshd -d 开启sshd服务;

这样可以查看debug细节。

如果在执行ssh命令时想查看执行细节,可以使用参数 -vvv,三个v表示查看debug级别为3的细节,如:

ssh -vvv localhost

参考链接

【入门排坑】Windows之间使用OpenSSH的ssh免密登录,排坑的更多相关文章

  1. Windows和Linux下实现ssh免密登录

    ------------恢复内容开始------------ SSH是一种通讯协议,可以实现远程安全登录.可以通过如putty.MobaXterm等工具通过ssh安全登录到虚拟机进行操作. Opens ...

  2. Linux入门——SSH免密登录

    SSH免密登录 1.简介 SSH是一种网络协议,用于计算机之间的加密登录. 本文针对的实现是OpenSSH,它是自由软件,应用非常广泛. 2.初始化公钥私钥 有rsa,dsa两种加密方式,生成的公钥私 ...

  3. windows配置ssh免密登录linux

    客户端(windows)要做的事情 默认机器上已安装git,若没有,请先安装git 查看本地是否有ssh公钥文件夹,若没有,则创建文件夹 mkdir ~/.ssh //创建文件夹 生成公钥 邮箱最好为 ...

  4. Linux主机之间ssh免密登录配置方法

    由于公司的生产环境有很多台Linux的CentOS服务器, 为了方便机子(假设两台机子A,B)互相之间免密ssh, scp命令操作,配置如下 1. 在A.B上分别创建本机的公钥和私钥,输入命令后连续三 ...

  5. 吴裕雄--天生自然 HADOOP大数据分布式处理:使用XShell远程连接主机与服务器并配置它们之间SSH免密登录

  6. SSH远程登录:两台或多台服务器之间免密登录设置

    有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...

  7. windows使用vscode设置免密登录linux服务器

    秘钥原理解释 id_rsa.pub是公钥,部署在服务器上 id_rsa是私钥,放在windows本地 本质上它们都是个文本文件 操作流程 生成秘钥对(windows和linux均可) ssh-keyg ...

  8. 集群中配置多台机器之间 SSH 免密码登录

    集群中配置多台机器之间 SSH 免密码登录 问题描述 由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署. 但是,这就涉及到机器间的 SSH 免密码互通问题. 当集群机器比较多的时候 ...

  9. Ubuntu安装openssh安装ssh、 免密登录、 创建新用户并免密登录

               一.安装openssh sudo apt-get install openssh-server ssh localhost 二.免密登录 cd ~/.ssh ssh-keygen ...

  10. Linux机器之间SSH免密钥登录设置

    SSH免密钥登录 私钥:密钥留在本机 公钥:密钥发给其他机 hadoop01 生成密钥: ssh-keygen -t rsa (密钥存放路径:/root/.ssh) id_rsa:私钥 id_rsa. ...

随机推荐

  1. ActiveMQ的基本使用

    优点:消息中间件主要解决了各个模块异步调动问题,解除了模块之间的耦合,提高了运行的性能.一.点对点方式生产者1.创建连接工厂ActiveMQConnectionFactory 基于TCP协议Activ ...

  2. PDF转置

    import pdfplumber #全是None with pdfplumber.open(r"C:\Users\yjiang3\Desktop\Inv.pdf") as pdf ...

  3. jquery.axios

    概念:通过 HTTP 请求加载远程数据. *注:所有的选项都可以通过$.ajaxSetup()函数来全局设置. 回调函数:要处理$.ajax()得到的数据,则需要使用回调函数.beforeSend.e ...

  4. CSS 选择器-认识并应用选择器

    在内嵌式和外部css中,要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素,这时需要用到CSS中的选择器. 选择器:选择要添加样式的 HTML 标签的一种方法.模式. 首先学习 css2 ...

  5. mysql表操作2

    表介绍: 表就相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 创建表: #语法: create table 表名( 字段名1 类型[(宽度) 约束 ...

  6. JVM调优学习笔记

    TODO:需要学习的命令 jps jstat -gcutil pid xxxx jmap histo:live pid

  7. 精通Spring 4.x 企业应用开发实战 文档链接总结

    Spring在线文档 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle

  8. css3 新增的特性有哪些?

    css3 选择器. css3边框(borders) css3 背景 css3 渐变 css3 文本效果 css3 字体(@font-size规则) css3 转化和变形 1)2D转换方法 2)3D转换 ...

  9. UIPath踩坑记一UIpath中抓取数据后在tableau中无表头

    UIpath抓取数据存在Excel中(Excel 应用程序范围),且已设置表头,但是放到tableau中无表头 更换为"写入范围(工作簿)",同时属性设置必须勾选"添加标 ...

  10. 为什么对1e9 + 7取模

    在刷题的时候,很多题目答案都要求结果对1e9 + 7取模 刚开始我非常不理解,为什么要取模,取模难道结果不会变吗? 答案是结果会变,但因为原本需要得出的答案可能超出int64的范围,比如他叫你计算50 ...