window下使用ssh以及配置免密登录

2023-05-16

因为最近的项目需要部署到多台服务器上,如果一台一台的去操作的话,显然太费时费力了,由于公司又没有一整套完整的发布部署平台,所以我就自己写了个批处理脚本来实现项目的部署以及日志的拉取,这其中遇到过不少问题,所以就整理了两篇博客记录一下。

我们知道在管理服务器的时候,Linux/Mac系统下,使用ssh服务非常方便,然而生活中还有很多windows平台的服务器,如果也想使用的话,需要一些配置了。网上有说使用cygwin 来模拟UNIX 环境,但是这些太麻烦了,如果你是win10的话,那很幸运,微软现在已经支持OpenSSH了,可以直接拿来使用,本篇也只讲解win10下ssh的使用。

一、安装OpenSSH

默认的话,win10已经为我们安装好了OpenSSH客户端,只需要在服务器上安装服务端即可。

打开"设置",按照以下步骤执行:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成之后,我们会在系统服务中发现这两个ssh相关的服务:
在这里插入图片描述

其中,OpenSSH SSH Server是服务端需要开启的。OpenSSH Authentication Agent是客户端需要开启的,用于后面配置免密登录验证密钥用的。

验证:

这里我们就不安装XShell, cmder之类的命令行软件了,我们直接使用window自带的PowerShell这款强大的shell工具
在这里插入图片描述
我这里用我自己的电脑测试,可以看到能够使用了。

二、配置免密登录

使用ssh最重要的一步就是先要配置机器间的免密登录了吧,不然每次都要输入密码很麻烦,而且使自动运行脚本变得没有意义。

windows下配置免密登录跟Linux下差不多,稍微有点不同

1.首先生成客户端公钥

比如我要客户端免密登录服务器,我首先在客户端执行以下命令,生成公钥

ssh-keygen

在这里插入图片描述

执行命令后一路回车即可,全都选择默认目录,最后会在当前用户的主目录(C:\Users\用户名)下生成.ssh文件夹,里面包含了id_rsaid_rsa.pub两个文件,id_rsa.pub即是我们需要的公钥。

2.将客户端公钥加入服务端的配置中

首先我们查看服务端的.ssh目录下是否有authorized_keys该文件,当然默认是没有的,我们新建这个文件,然后将客户端公钥内容加进这个文件即可。

这里我是用文件传输命令scp

scp C:\Users\zzs.ssh\id_rsa.pub zzs@127.0.0.1:D:\

在这里插入图片描述
这里先将文件拷贝到服务器D: 盘,然后再追加到该文件中

cat D:\id_rsa.pub >> C:\Users\zzs.ssh\authorized_keys

或者直接打开拷贝都行

3.修改服务端配置文件

windows下的ssh的配置文件目录在C:\ProgramData\ssh下:(ssh安装目录在C:\Windows\System32\OpenSSH)
在这里插入图片描述

这里有我们ssh的配置文件sshd_config,我们打开它,注释掉最后两行即可:
在这里插入图片描述

4.启动服务

在服务端启动上面说的OpenSSH SSH Server服务

在客户端启动OpenSSH Authentication Agent服务

5.验证

至此,免密登录的配置已经完成,可以直接通过ssh进行访问而不需要输入密码了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

window下使用ssh以及配置免密登录 的相关文章

  • RVM 无法通过 SSH 工作(作为一项功能)

    我刚刚在 Debian 6 服务器上安装了 RVM 一开始没有任何问题 但是 在一切设置完成后 我无法在终端中运行 RVM 我打字时收到的消息rvm use is RVM is not a function selecting rubies
  • 跨 HTML 窗口调用 Javascript 函数

    根据this https stackoverflow com questions 87359 can i pass a javascript variable to another browser window页面我应该能够调用子窗口的参数
  • 有没有办法用 Tkinter 创建透明窗口?

    最终 我尝试使用 Tkinter 模块用 Python 创建 奇怪形状的窗口 但现在我会满足于能够使背景透明 同时保持子部件完全可见 我知道这是使用 wxPython 和其他一些模块完成的 但我想了解 Tkinter 的限制 Tkinter
  • 无法通过 SSH 连接到 Google 计算引擎

    我在一个新项目中设置了一个新的 Google Compute Engine 实例 我启动实例并使用命令gcloud init连接到我的项目 然后我使用命令sudo gcloud compute ssh instance 1 它引导我完成 S
  • 如何临时更改git ssh用户进行远程推送?

    是否可以临时更改 ssh 用户为 git Push Remote Master 而不会弄乱 git config 或 git Remote 或使用整个远程 URL root host gitrepo git push otheruser r
  • 在没有 paramiko 的情况下通过 python 运行 ssh 时,“伪终端不会被分配,因为 stdin 不是终端”

    我在 Python 中运行 ssh 而不使用像 Paramiko 这样的外部库 我这样做有我的理由 而不是通过外部库 基本上我正在做subprocess Popen ssh t bla command 执行此操作时我收到以下消息 Pseud
  • 理解“窗口”对象[重复]

    这个问题在这里已经有答案了 可能的重复 JS 窗口全局对象 https stackoverflow com questions 10035771 js window global object 如何window对象工作 我知道它是顶级对象并
  • C# WPF 如何正确关闭新窗口?

    我有一个简单的问题 1 创建一个新的WPF项目 其中有启动窗口 MainWindow xaml 2 在此项目中 创建一个新窗口Window1 xaml 3 Windows1的已加载事件 让它关闭 4 放置一个Open按钮到MainWindo
  • php run git 收到“ssh 权限被拒绝”

    我正在尝试从浏览器中运行 git pull php 脚本 但我得到了 sh 连接到主机 git assembla com 端口 22 权限被拒绝 我的 PHP 脚本
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • MonoMac 窗口关闭时没有错误

    我刚刚开始在 Xamarin Studio 中使用 MonoMac 并且遇到了最奇怪的问题 我有一个带有 NSButton 和 NSTextField 的窗口 至此 我已经删除了按钮上的事件处理程序 因此它不会执行任何操作 除了在单击它时突
  • 在 mac (iMac OSX ) 终端中远程运行脚本(r 脚本)到其他计算机

    我有一个小示例脚本 script p r 如下所示 打算在终端中运行 usr bin Rscript sink output capture txt mn lt mean 1 10 and so on much longer list of
  • Spark EC2 SSH连接错误SSH返回代码255

    每次我尝试通过 Spark ec2 spark ec2 py 文件在 AWS 上启动 Spark 集群时 都会收到 SSH 连接错误 最终解决了 但是浪费了很多时间 在您将其标记为重复之前 我知道有很多类似的问题被问到 但有两个关键区别 a
  • 如何登录ec2机器?

    我获得了 EC2 机器的一些登录信息 基本上是 ec2 X X X compute X amazonaws com 加上用户名和密码 如何访问机器 我尝试过 ssh ssh email protected cdn cgi l email p
  • Android 上通过 JSCH 的基本 SSH 连接

    作为来自此的用户question https stackoverflow com questions 14323661 simple ssh connect with jsch和这个tutorial http eridem net andr
  • 如何更改 Eclipse 窗口标题?

    如何更改正在运行的 Eclipse 的标题 最后一部分 我说的是 Eclipse 发行版本身 而不是我为 Eclipse 编写的程序 目前我有以下头衔 1这部分设置在Window gt Preferences gt General gt W
  • 带有跳转主机和远程数据库的SSH隧道转发

    我有一个托管在 Amazon RDS D 上的远程 MySQL 数据库 出于安全目的 只能通过远程服务器 C 访问它 C 可以通过跳转主机 B 通过 ssh 访问 我需要一个双 ssh 隧道来访问远程 SQL 主机 A local host
  • Jenkins - 通过 SSH 插件发布:如何复制目录

    我正在尝试使用Jenkins 通过 SSH 发布 https wiki jenkins ci org display JENKINS Publish Over SSH Plugin PublishOverSSHPlugin Configur
  • 如何使 ssh-add 从文件中读取密码?

    我正在尝试添加一个密钥ssh agent并想要ssh add从我正在使用的密钥文件中读取密码 这怎么可能 如何通过 shell 脚本自动执行此过程 根据您的发行版和 ssh add 的版本 您可能能够或不能使用 pssh add 的选项以这

随机推荐

  • Stable Diffusion+ControlNet+Lora 指导AI+艺术设计的WebUI全流程使用教程

    目录 一 背景知识1 1 Stable Diffusion背景知识1 2 ControlNet 背景知识 二 使用方法2 1 环境配置2 2 运行WebUI 三 背景知识3 1 Stable Diffusion参数详解3 2 Control
  • Ubuntu20.04+Windows10双系统迁移新硬盘并解决引导损坏全流程总结

    目录 一 备份原有系统1 1 压缩原系统的 目录 二 安装新系统三 迁移系统四 引导修复4 1 Ubuntu引导修复4 2 Win10引导修复4 3 双系统grub修复 因工作需要 xff0c 欲将Ubuntu系统迁移到一块全新SSD中 x
  • Ubuntu20.04使用多卡训练HyperNetwork模型和LoRA模型全流程及疑难问题解决方案

    目录 一 LoRA模型多卡训练1 1 安装xformer等库1 2 设置路径1 3 多卡训练 二 HyperNetwork模型多卡训练2 1 HyperNetwork通过WebUI训练 疑难报错解决方案多卡训练报错 软硬件配置 xff1a
  • 【原创】SystemVerilog和Verilog中的表达式位宽

    Verilog和SystemVerilog作为一种 松散类型 的语言已经被很多工程师广泛的用于设计验证领域 xff0c 但是这并不是说各种电路结构或者验证环境中就可以肆无忌惮的随意使用 xff0c 特别是在不同位宽的信号进行计算时 xff0
  • java反射获取子类或者父类的属性值

    方法介绍 1 获取所有属性 span class token keyword private span span class token keyword static span span class token class name Lis
  • momentjs 常用总结

    平时在工作中经常需要对时间进行处理 xff0c 用momentjs 可以快速又方便的对时间格式进行处理 1 let time 61 moment 输出当前国际化时间 相当于 newDate 2 let time 61 moment X fo
  • 第一次CSP模拟-A-咕咕东的奇遇

    咕咕东是个贪玩的孩子 xff0c 有一天 xff0c 他从上古遗迹中得到了一个神奇的圆环 这个圆环由字母表组成首尾相接的环 xff0c 环上有一个指针 xff0c 最初指向字母a 咕咕东每次可以顺时针或者逆时针旋转一格 例如 xff0c a
  • week4作业-C-TT的神秘礼物

    TT 是一位重度爱猫人士 xff0c 每日沉溺于 B 站上的猫咪频道 有一天 xff0c TT 的好友 ZJM 决定交给 TT 一个难题 xff0c 如果 TT 能够解决这个难题 xff0c ZJM 就会买一只可爱猫咪送给 TT 任务内容是
  • UIScrollView的作用原理,实现scrollView传递touch事件给子视图

    span style font family none 我们知道当多个视图进行叠加的时候 xff0c touch事件是作用到最上面的视图上 xff0c 但是如果父视图是UIScrollView xff0c 如果默认 xff0c 可能touc
  • win10虚拟机VMware安装homeassistant镜像

    从今天开始 xff0c 我开始倒腾智能家居 xff0c 谈到智能家居就离不开一个开源的家庭智能控制系统home assistant 这个home assistant可以连接很多智能设备 之后 xff0c 我也会把自己在这过程中学习到的东西或
  • hadoop集群环境搭建

    目录 思路 配置master服务器 配置slave服务器 启动 运行example 常见报错 多次初始化导致master和slave的clusterID的不一致 INFO mapreduce Job Running job job 1647
  • zookeeper集群环境搭建

    目录 第一台主机 其他两台主机 启动 常见报错 Starting zookeeper FAILED TO START 3台Linux虚拟机 xff0c 与 hadoop环境搭建 相同 第一台主机 1 下载安装包 在 Index of apa
  • HBase分布式环境搭建

    目录 第一台主机 其他两台主机 启动 常见报错 SLF4J Class path contains multiple SLF4J bindings 3台Linux虚拟机 xff0c 与 zookeeper环境搭建 相同 xff0c 承接上文
  • Linux报错集锦

    收录平时使用linux时遇到的各种报错 xff0c 方便以后查阅 xff0c 如果大家遇到同样的问题时也能节省一些时间 原文链接 xff08 会有更新 xff09 https thrilling coffee afc notion site
  • 【20200602程序设计思维与实践 Week15 作业】

    目录 B ZJM 与生日礼物题意思路代码 C ZJM 与纸条题意思路代码 B ZJM 与生日礼物 题意 ZJM收到了Q老师送来的生日礼物 xff0c 但是被 Q老师加密了 只有 ZJM 能够回答对Q老师的问题 xff0c Q老师才会把密码告
  • 宝塔Linux搭建靶场(DVWA,pikachu,sqli,upload,xxs)

    靶场下载地址 链接 xff1a https pan baidu com s 1acxeSoI8TcvGXEGOa0a3WA 提取码 xff1a nbxx 安装宝塔Linux环境 Ubuntu安装宝塔Linux命令wget O install
  • anaconda中通过pytesseract识别中文字符

    使用pytesseract识别中文字符 环境的安装可以参考 xff1a https editor csdn net md articleId 61 109255325 首先 xff0c 需要下载相应的数据集 xff0c 可以自行搜索官网 x
  • (3)PCIE中断简介(学无止境)

    1 引言 FPGA与CPU进行数据交互时 xff0c 一般需要进行DMA操作 xff0c 包括读DMA和写DMA操作 读 写DMA一些控制信号一般需要通过中断的方式实现 xff1b 例如 xff1a DMA开始 DMA结束等 2 PCIE中
  • MySQL:ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy‘的解决方法

    当我们设置数据库密码级别的时候 mysql gt set global validate password policy 61 0 mysql gt set global validate password length 61 4 出现这样
  • window下使用ssh以及配置免密登录

    因为最近的项目需要部署到多台服务器上 xff0c 如果一台一台的去操作的话 xff0c 显然太费时费力了 xff0c 由于公司又没有一整套完整的发布部署平台 xff0c 所以我就自己写了个批处理脚本来实现项目的部署以及日志的拉取 xff0c