IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ssh远程连接windows -> 正文阅读

[系统运维]ssh远程连接windows

由于奇怪的需求需要部署一台windows服务器,记录一下部署的过程

1安装Windows OpenSSH

首先通过powershell安装OpenSSH的服务端

在开始图标

上点击右键,选择Windows PowerShell(管理员)(A)

在powershell中输入:

# 安装OpenSSH客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

#安装OpenSSH服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

在powershell中输入:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

若返回为:

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : Installed

则表示安装成功,若返回为:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

表示安装失败,再来一遍吧,注意全程需要管理员权限。

2启动SSH服务器

依然是以管理员身份打开PowerShell,然后运行以下命令来启动?sshd service

# 启动sshd服务
Start-Service sshd

# 将sshd服务设置为自动启动,若不设置需要在每次重启后重新开启sshd
Set-Service -Name sshd -StartupType 'Automatic'

# 确认防火墙规则,一般在安装时会配置好
Get-NetFirewallRule -Name *ssh*

# 若安装时未添加防火墙规则"OpenSSH-Server-In-TCP",则通过以下命令添加
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

3开启密钥登录

这一步是重中之重,加强安全,减少麻烦!!!

生成密钥的方法都是一样的,可以自行搜索,与linux不同的地方在于权限管理和默认authorized_keys存放位置。

公钥 (~\.ssh\id_rsa.pub) 的内容需放置在服务器上的一个名为authorized_keys的文本文件中,该文件位于 C:\Users\username\.ssh\。 OpenSSH 客户端包括了 scp 来帮助实现此目的,这是一个安全的文件传输实用工具。

将本地的公钥部署到服务器上

# 确保服务器上存在.ssh 文件夹,若不存在则使用下面命令创建
ssh username@ip mkdir C:\Users\username\.ssh\

#通过scp将本地的公钥上传到服务器上并重命名为authorized_keys,注意此方法会覆盖原有authorized_keys
scp C:\Users\username\.ssh\id_rsa.pub user1@ip:C:\Users\username\.ssh\authorized_keys

通过上述方法会覆盖原有authorized_keys文件,若要添加多个公钥,则通过记事本(更推荐使用vscode等文本编辑器)打开authorized_keys,把另起一行并把新公钥粘贴到authorized_keys文件中。

以下是windows中特有的操作

更改authorized_keys文件权限,不更改则无法通过密钥登录

# 远程通过ACL更改文件权限
ssh --% user1@ip icacls.exe "C:\Users\username\.ssh\authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"

在服务器端则可以通过以下命令修改,注意需要管理员权限。

#在服务器端修改authorized_keys文件权限
icacls.exe "C:\Users\username\.ssh\authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"

在Windows OpenSSH中,默认的授权密钥存放位置为ProgramData\ssh\administrators_authorized_keys,此位置对应为管理用户权限。因此需要修改默认授权文件位置。通过文本编辑器(推荐vscode)打开ProgramData\ssh\sshd_config,修改以下条目

#允许公钥授权访问,确保条目不被注释
PubkeyAuthentication yes

#授权文件存放位置,确保条目不被注释
AuthorizedKeysFile	.ssh/authorized_keys

#可选,关闭密码登录,提高安全性
PasswordAuthentication no

#注释掉默认授权文件位置,确保以下条目被注释
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

注意修改sshd_config需要管理员权限,修改完成后保存并推出。

在PowerShell(管理员)中重启sshd服务

#重启sshd,需要管理员权限
Restart-Service sshd

至此可以尽情享受windows服务器带来的各种不便了!enjoy!!!

最后附赠如何使用PowerShell卸载Windows OpenSSH

# 卸载 OpenSSH 客户端
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# 卸载 OpenSSH 服务端
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:19:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:01:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码