powershell - 通过将密码与命令一起传递来使用 powerShell 脚本 ssh

标签 powershell ssh

如果我输入,我可以从 PowerShell SSH 到服务器

ssh 用户名@主机

这会提示输入密码,我输入有效的密码

但是我正在尝试编写一个脚本,该脚本通过 ssh 进入服务器执行一些脚本并返回

所以我必须将密码与命令一起传递我该怎么做

shell 脚本有很多答案我如何在 PowerShell 中执行此操作

我试过了

echo "密码"| SSH 用户@主机

似乎不起作用

最佳答案

您可以使用 POSH-SSH module
代码片段:

$Password = "Password"
$User = "UserName"
$ComputerName = "Destination"
$Command = "SSH Command"

$secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential($User, $secpasswd)

$SessionID = New-SSHSession -ComputerName $ComputerName -Credential $Credentials #Connect Over SSH

Invoke-SSHCommand -Index $sessionid.sessionid -Command $Command # Invoke Command Over SSH
更新:
3 年后,微软发布了 PowerShell remoting over SSH
可以找到更多信息 here

关于powershell - 通过将密码与命令一起传递来使用 powerShell 脚本 ssh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54923868/

相关文章:

python - 有没有一种简单的方法可以消除使用 Python 的 Paramiko 库进行 SSH 并从远程计算机的 CLI 获取输出时出现的垃圾值?

windows vscode终端中的javac Foo.java && java Foo不工作

powershell - 从脚本中获取函数列表

exception - PowerShell : use parameter validation without throwing exception

bash - 从 Bash 调用的 Expect 脚本的退出状态代码

python - 使用 Paramiko 一次创建多个 SSH 连接

linux - 尝试终止进程时出错 -- "kill: pid: arguments must be process or job IDs"

Git 在自定义 SSH 端口上

powershell - 带有开始/处理/结束 block 的函数内的嵌套函数?

node.js - 关闭终端窗口后如何在 VSCode 中结束服务器