【问题标题】:Connect to ssh server with powershell使用 powershell 连接到 ssh 服务器
【发布时间】:2020-01-09 23:31:33
【问题描述】:

Windows 提供 ssh 客户端。在 Powershell 中,我可以与 ssh 用户@服务器连接。

如何在传递凭据时在脚本中使用客户端?

网上有关于New-PSsession的例子:

$ session = New-PSSession -HostName WinVM2 -UserName PSRemoteUser

Powershell 5.1 版/新 Pssession 不知道参数主机名和用户名。

以下没有错误但脚本挂起:

  $ session = New-PSSession -SSHTransport -ComputerName 192.168.2.50 -Credential root

如果您直接在脚本中使用 ssh user @server 将不会要求您输入密码。

不应安装其他模块。

有人有想法吗?

【问题讨论】:

  • 这是关于 ssh 还是 pssession?类型:help New-PSSession -detailed ...了解当前参数以及如何使用它们。

标签: powershell ssh


【解决方案1】:

New-PSSession 的 -Credential 参数不是字符串,而是您需要创建的 PSCredential 对象。 MS 给出了一个很好的例子来说明如何做到这一点。

https://blogs.msdn.microsoft.com/koteshb/2010/02/12/powershell-how-to-create-a-pscredential-object/

【讨论】:

    【解决方案2】:

    如果您想在脚本中使用 ssh 和 scp 而无需处理密码,您应该在您的服务器上安装您的公共 ssh 密钥。 使用ssh-keygen 创建一个 ssh 密钥对 并将您的公钥复制到文件中的服务器上: C:\Users\ServerUser\.ssh\authorized_keys 如果是 Windows 服务器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      相关资源
      最近更新 更多