【问题标题】:PowerShell 6.* Remoting using SSL certificate and UBUNTUPowerShell 6.* 使用 SSL 证书和 UBUNTU 进行远程处理
【发布时间】:2019-01-13 17:33:04
【问题描述】:

我有一个 UBUNTU 16.04 盒子(我们称之为 EARTH)和 Windows 2012 R2 盒子(我们称之为 MARS)。使用 Windows 框 (MARS) 中的以下命令,我正在生成一个我计划用于 PS Remoting 的自签名证书。

CMD1: $Cert = New-SelfSignedCertificate -CertstoreLocation Cert:\LocalMachine\My -DnsName "myHost"

CMD2: 导出证书 -Cert $Cert -FilePath C:\temp\cert

MARS(Windows 框)上,有一个 WSMAN 侦听器使用刚刚创建的自签名证书的指纹创建。

CMD3: New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $Cert.Thumbprint –Force

我正在尝试启动从 EARTH(UBUNTU 盒)到 MARS 的 PowerShell 远程会话

有谁知道如何将证书导入 EARTH(UBUNTU 服务器),以便 powershell 可以将其用于远程会话?

PS Session 来源:EARTH,UBUNTU 服务器

PS 会话的目标:MARS,生成证书的 windows 2012 R2 盒子。

EARTH(UBUNTU 服务器)正在运行 PowerShell 版本 6.1 preview.2

提前感谢您的帮助!

【问题讨论】:

    标签: powershell ubuntu ssl remoting


    【解决方案1】:

    导出/导入证书 cmdlet 是此用例的目标。 至于 Ubuntu,在 Ubuntu 上使用 cmdline 即可,见 Ubuntu 论坛讨论:

    在 ubuntu 中:

      • 转到 /usr/local/share/ca-certificates/
      • 新建一个文件夹,即“sudo mkdir school”
      • 将 .crt 文件复制到学校文件夹中
      • 确保权限正常(文件夹为 755,文件夹为 644 文件)
      • 运行“sudo update-ca-certificates”

    https://askubuntu.com/questions/645818/how-to-install-certificates-for-command-line

    或直接来自 Ubuntu 的帮助信息。

    安装证书

    您可以安装密钥文件 server.key 和证书文件 server.crt 或 CA 颁发的证书文件,通过运行 在终端提示符下执行以下命令:

    sudo cp server.crt /etc/ssl/certs
    sudo cp server.key /etc/ssl/private
    

    现在只需配置任何应用程序,即可使用 公钥加密,使用证书和密钥文件。为了 例如,Apache 可以提供 HTTPS,Dovecot 可以提供 IMAPS 和 POP3S等

    https://help.ubuntu.com/lts/serverguide/certificates-and-security.html

    MS 提供了有关如何设置和使用它的分步指南。具体来说,以下直接针对 Ubuntu。这允许在没有您正在使用的额外证书步骤的情况下进行远程处理。

    通过 SSH 进行 PowerShell 远程处理

    在 Windows 机器上设置

    1. 从 GitHub 安装最新的 PowerShell for Windows 构建 ◦您可以通过查看 New-PSSession 的参数集
    Get-Command New-PSSession -syntax
    New-PSSession [-Name <string[]>] [-HostName <string>] [-UserName <string>] [-KeyPath <string>] [<CommonParameters>]
    
    1. 使用安装说明从 GitHub 安装最新的 Win32 Open SSH 版本
    2. 在安装 Win32 的位置编辑 sshd_config 文件 Open SSH 确保启用密码验证 ◾密码验证是

    ◦添加 PowerShell 子系统条目
    ◾子系统PowerShell

    PowerShell_Install_Path\powershell.exe -sshs -NoLogo -NoProfile
    

    ◦可选择启用密钥身份验证
    ◾RSA认证是 ◾PubkeyAuthentication是的

    4.重启sshd服务◦Restart-Service sshd

    在 Linux (Ubuntu 14.04) 机器上设置:

    1.从 GitHub 安装最新的 PowerShell for Linux build ◦你可以通过查看参数来判断它是否支持 SSH 远程处理 为 New-PSSession 设置

    Get-Command New-PSSession -syntax 新 PSSession [-Name ] [-HostName ] [-UserName ] [-KeyPath ] []

    2.根据需要安装 Ubuntu SSH ◦sudo apt install openssh-client

    sudo apt install openssh-server
    

    3.编辑位于 /etc/ssh 的 sshd_config 文件 确保启用密码验证 ◾密码验证是的

    ◦添加 PowerShell 子系统条目
    ◾子系统powershell powershell -sshs -NoLogo -NoProfile

    ◦可选择启用密钥身份验证
    ◾RSA认证是 ◾PubkeyAuthentication是的

    4.重启sshd服务◦sudo service ssh restart

    PowerShell 远程处理示例:

    测试远程处理的最简单方法是仅在单个设备上进行尝试 机器。在这里,我将创建一个远程会话回到同一台机器 在 Linux 机器上。请注意,我正在使用来自 命令提示符,所以我们看到来自 ssh 的提示,要求验证主机 计算机以及密码提示。你可以在一个 Windows 机器,以确保远程处理在那里工作,然后远程 只需更改主机名即可在机器之间切换。

    Linux 到 Linux

    PS /home/TestUser> $session = New-PSSession -HostName UbuntuVM1 -UserName TestUser
    
    The authenticity of host 'UbuntuVM1 (9.129.17.107)' cannot be established.
    
    ECDSA key fingerprint is SHA256:2kCbnhT2dUE6WCGgVJ8Hyfu1z2wE4lifaJXLO7QJy0Y.
    
    Are you sure you want to continue connecting (yes/no)?
    
    TestUser@UbuntuVM1s password:
    
    PS /home/TestUser> $session
    
     Id Name            ComputerName    ComputerType    State         ConfigurationName     Availability
     -- ----            ------------    ------------    -----         -----------------     ------------
      1 SSH1            UbuntuVM1       RemoteMachine   Opened        DefaultShell             Available
    

    https://github.com/PowerShell/PowerShell/blob/866b558771a20cca3daa47f300e830b31a24ee95/docs/new-features/remoting-over-ssh/README.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2013-11-07
      • 2017-09-21
      • 1970-01-01
      相关资源
      最近更新 更多