网站搜索

通过 SSH 进行 PowerShell 远程处理

概述

PowerShell 远程处理通常使用 WinRM 进行连接协商和数据传输。 SSH 现在可用于 Linux 和 Windows 平台,并允许真正的多平台 PowerShell 远程处理。

WinRM 为 PowerShell 远程会话提供强大的托管模型。基于 SSH 的远程处理当前不支持远程端点配置和 Just Enough Administration (JEA)。

SSH 远程处理允许您在 Windows 和 Linux 计算机之间执行基本的 PowerShell 会话远程处理。 SSH 远程处理在目标计算机上创建一个 PowerShell 主机进程作为 SSH 子系统。最终我们将实现一个类似于 WinRM 的通用托管模型,以支持端点配置和 JEA。

New-PSSession、Enter-PSSession 和 Invoke-Command cmdlet 现在具有新的参数集来支持这一新的远程连接。

[-HostName <string>] [-UserName <string>] [-KeyFilePath <str

阅读更多 →

PowerShell SSH 客户端和远程处理说明

您需要管理远程服务器或网络设备吗?那么您可能正在使用 SSH 来连接和管理它们。 SSH 协议允许您通过不安全的网络(互联网)安全地连接到远程设备。要使用 SSH,大多数人都会使用 SSH 客户端工具,例如 Putty。但您是否知道PowerShell 有一个内置的 SSH 客户端?

Windows 10 1809 及更高版本中默认启用 PowerShell SSH 客户端。这意味着您现在可以轻松地从您最喜欢的命令行工具连接到任何远程设备。

我们还可以在 PowerShell 中使用 SSH 远程管理另一台 Windows 计算机,但您需要使用 PowerShell 6 或更高版本来运行 SSH 服务器。

PowerShell SSH 客户端

在 PowerShell 中使用 SSH 最常见的方法是作为 SSH 客户端。假设您使 Windows 保持最新状态,则默认情况下应该启用 SSH。您只需打开 PowerShell 并键入以下命令即可检查它:

# type ssh and press enter ssh # Result: usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy]

阅读更多 →

掌握安全连接:如何结合使用 SSH 和 PowerShell 进行高效远程管理

# 增强您的工作流程:通过 PowerShell 使用 SSH 的 5 种高级方法

在软件工程领域,PowerShell 作为一种多功能且强大的系统管理工具而备受瞩目,许多用例都涉及脚本和自动化。将 Secure Shell (SSH) 与 PowerShell 结合使用,可以将各种系统的控制和管理提升到一个全新的水平,使您的工作更加高效和简化。但您是否充分发挥了这一强大组合的全部潜力?

在本文中,我们将通过展示五种高级技术来深入探讨如何将 SSH 与 PowerShell 结合使用,这些技术将增强您的工作流程并提升您的专业知识。拿起您的终端,让我们开始吧!

1. 使用 PowerShell 建立 SSH 会话

首先,您需要在本地计算机和远程系统之间建立 SSH 会话。为此,我们将使用 PowerShell 中内置的 SSH 客户端。

# 先决条件:

- 确保您的计算机上安装了 Windows 10 build 1809 或更高版本。 - 应在您的 Windows 10 设备上启用 OpenSSH 客户端功能。为此,请导航至“设置”>“应用程序”>“可选功能”,搜索

阅读更多 →

Putty 与 PowerShell SSH:当今命令行爱好者的全面比较

PuTTY 和 PowerShell SSH 之间的 7 个主要区别:哪一个最适合您?

在当今的互联世界中,远程访问服务器变得越来越重要,选择正确的工具来管理它们至关重要。此任务最常用的两个选项是 PuTTY 和 PowerShell SSH。在这篇技术文章中,我们将深入探讨两者之间的差异,并帮助您确定哪一个最适合您的需求。

1. 平台和兼容性

要考虑的第一个区别是每个工具与不同操作系统的兼容性。

* PuTTY:最初是为 Windows 开发的,现已移植到 Linux 和 macOS 等其他平台,尽管功能较少。您可以使用流行的分叉,例如 KiTTY 和 PuTTYTray,它们添加了一些附加功能。

* PowerShell SSH:PowerShell 是 Windows 原生的脚本语言和命令行 shell。然而,从版本 6.0(PowerShell Core)开始,它已经变得跨平台,可以在 Linux 和 macOS 上运行。从版本 7.1 开始,该版本简称为 PowerShell。

2. 丰富的脚本能力

脚本在自动化任务和简化复杂操作方面发

阅读更多 →

如何在 Windows Server 上访问 SSHfs

SSHfs 是基于 SSH(Secure Shell)协议的文件系统,常用于 Linux 和 BSD 系统。它允许您通过 SSH 将任何目录挂载为文件系统。本指南将演示如何在 Windows 系统上使用 SSHfs。

我们将解释如何让 SSHfs 运行,甚至使用它将网络位置映射到您的 Windows Server。但是,在开始之前,请确保您已准备好在 Windows 上与 SSHfs 一起使用的 SSH 服务器。

如何安装巧克力

Chocolatey 是 Windows 的包管理器工具,可显着简化 Windows Server 上 SSHfs 的安装过程。它特别有利,因为它简化了 Winget 工具的安装,这是安装 SSHfs 的先决条件。如果没有 Chocolatey,SSHfs 的设置可能会成为一项繁琐的任务。

要在

阅读更多 →

在 Windows 计算机上使用 OpenSSH 安全传输文件

Linux 和 Unix 管理员习惯于使用开放安全外壳 (OpenSSH) 连接到服务器,因为它已经包含在这些系统中数十年了。另一方面,Windows 用户传统上必须下载 Putty 或 WinSCP 等第三方工具才能利用 SSH 功能。

然而,当 OpenSSH 在 Windows 10 和 Windows Server 2019 中作为可选功能提供时,情况发生了变化。由于 Windows 现在本身提供 SSH 服务器和 SSH 客户端,因此没有理由使用没有加密功能的 telnet 或 FTP - SSH当您需要通过网络连接连接到服务器或复制文件时,可提供卓越的安全性。

本文详细介绍了如何安装 OpenSSH 并使用它通过 WinSCP 或 PowerShell 安全地传输文件。

OpenSSH 有何用途?

OpenSSH 是一种使用 SSH 协议通过计算机网络提供安全通信会话的工具。它可用于多种任务,包括:

  • 安全登录远程计算机以执行服务器管理或技术支持命令。
  • 在两台计算机之间安全地复制或移动文件。

这些任务是安全的,因为 OpenSSH 包含安全复制协议 (SCP) 和 SSH 文件传输协议 (SFTP

阅读更多 →

在 VMware ESXi 上设置基于 SSH 密钥的身份验证

您可以配置基于 SSH 密钥的身份验证来登录 VMware ESXi 主机,而不是使用用户名和密码对。如果您需要使用外部脚本远程管理 ESXi 主机(例如,在 UPS 发生断电事件时向 ESXi 发送关闭命令),或者需要使用 Ansible 管理 VMware ESXi 主机,这会很有用。

在管理员计算机上生成私钥和公钥。使用最小长度为 4096 位的 RSA 密钥。要在 Windows 上生成 4096 长度的 RSA 密钥对,请运行以下命令

了解有关 Windows 上基于 SSH 密钥的身份验证的更多信息。

建议在新的 OpenSSH 版本中使用 Ed25519 协议而不

阅读更多 →

PowerShell:使用 SSH 连接到远程主机 (Posh-SSH)

Posh-SSH 是适用于 Windows 10 的 PowerShell 模块。该模块使您能够建立与远程计算机的 SSH 连接。作为先决条件,必须安装 Windows Management Framework 5。在本文中,我将逐步展示如何安装 Posh-SSH 并与运行 Linux 的计算机建立远程连接。

在 Windows 中,SSH 连接有些不寻常,因为 PowerShell 有其自己的功能,但 SSH 对于访问非 Windows 设备(例如交换机、路由器以及最后但并非最不重要的 Linux 计算机)是必不可少的。

安装

运行 Find-Module 以查找新的 PowerShell 模块 Posh-SSH。如果找不到,请从此源安装 .NET Framework 5.0:https://www.microsoft.com/en-us/download/details.aspx?id=50395

Find-Module Posh-SSH

阅读更多 →

PowerShell 7:启用 SSH 远程处理

借助 Powershell 7,我们可以启用并使用 SSH 远程处理。与 WinRM 不同,SSH 更受欢迎,因为它是一种更熟悉的技术,并且也可以在其他平台上使用。在这篇文章中,我将向您展示如何通过几行代码轻松在 PowerShell 7 上启用 SSH。

安装 OpenSSH 客户端和服务器

我们现在通过 Internet 安装 SSH。因此,您应该确保您的计算机可以访问互联网。

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

配置SSH服务

接下来,我们需要配置SSH服务。我们将启动类型设置为自动。

Start-Service sshd -Verbose Set-Service -Name sshd -StartupType 'Automatic' -Verbose

阅读更多 →

使用 PowerShell 和正则表达式解析 ssh 已知主机

最近,我花时间学习更多有关 ssh 的知识。遗憾的是,我很少需要学习和使用 ssh。当然,有了 PowerShell 7 和基于 ssh 的远程处理,是时候提高我的水平了。我已经开始将 ssh 服务器组件部署到我的 Windows 测试服务器(我将改天再写),并探索如何在我的自动化和脚本工作中使用 ssh。

在最近的测试中,我尝试连接到重新安装了 ssh 的远程主机。这导致出现安全警告,指出指纹与当前已知的主机条目不匹配。因此,我终于开始了解远程主机配置的存储位置。 (我坦白承认,关于 ssh,我不知道的东西比我知道的还要多。) ssh 客户端将远程主机信息存储在 .ssh 目录中的文本文件中,该目录位于用户主文件夹的根目录中。您可以将此文件引用为 ~\.ssh\known_hosts。

如果您在文本编辑器中打开该文件,您将看到如下内容:

localhost ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGCbSDjrVNB/oGITy7qKovJam+k2HKYCtJzyiYTjevW/mYIF5umy/1eOG7Nb2AtNgpI0p6ahZtChttdT/hcZfAU= 192.168.3.199 ecdsa-sha2-

阅读更多 →