I would like to know if its possible to write an powershell script that connects to an Server via ssh and then do something on that server.
Thank you for your help.
There are many articles all over the web on this topic, and since PowerShell Core is now Open Source and can be installed on Windows / Linux / OSX the SSH for PowerShell has been an thing for a while now.
Example(s):
Using SSH to Access Linux Servers in PowerShell
Using SSH with PowerShell
Managing Windows Powershell from Linux terminal
There a several module on the MS PowerShellGallery specifically for this use case.
Find-Module -Name '*ssh*'
Version Name Repository Description
------- ---- ---------- -----------
2.0.2 Posh-SSH PSGallery Provide SSH and SCP functionality for executing commands against remote hosts.
2.1.3 SSHSessions PSGallery Svendsen Tech's SSH-Sessions module provides SSH session creation, management and interact...
0.0.2.0 OpenSSHUtils PSGallery Utilities and functions for configuring OpenSSH on Windows.
1.0.0 SSH PSGallery Provides a PowerShell-based SSH client based on SSH.net http://sshnet.codeplex.com/
1.1.3 PowerSSH PSGallery This module detects the first use of an SSH command, automatically runs the SSH agent, kee...
0.9.4 WinSSH PSGallery Install OpenSSH-Win64, optionally install ssh-agent and sshd Services. Also includes funct...
0.0.30 PSSharedGoods PSGallery Module covering functions that are shared within multiple projects
1.0.1 ssh-wrapper PSGallery Exposes ssh from WSL by wrapping: bash -c "ssh $args". Requires Windows Subsystem for Linu...
1.0.4 PSShortcut PSGallery This module eases working with Windows shortcuts (LNK and URL) files.
1.0 cEPRSSharepoint PSGallery DSCModule helps in installing & configuring the sharepoint site, Farm etc.,
2.0.1.8 SkypeForBusinessHybridHealth PSGallery Uses on-premises modules such as Skype For Business and SkypeOnlineConnector to validate b...
0.3.1 posh-sshell PSGallery Provides integration with ssh-agent and pageant from within Powershell
1.1.4 PowerSSH-Legacy PSGallery This module detects the first use of an SSH command, automatically runs the SSH agent, kee...
SSH From Windows Server to Linux Server - Invoke-SSHCommand
Invoke-SSHCommand $IndexID.SessionID -command "curl -v telnet://WindowsServerA:4750& sleep 2; kill $!"
# Results
Host : LinuxServerA
Output : {}
ExitStatus : 0
Invoke-SSHCommand $IndexID.SessionID -command "curl -v telnet://LinuxServerB:4750& sleep 2; kill $!"
# Results
Host : LinuxServerA
Output : {}
ExitStatus : 0
Invoke-SSHCommand $IndexID.SessionID -command "curl -v telnet://WindowsServerA:4750 2>&1 & sleep 2; kill $!"
# Results
Host : LinuxServerA
Output : {* About to connect() to WindowsServerA port 4750, * Trying 10.10.10.10... connected, * Connected to
WindowsServerA (10.10.10.10) port 4750}
ExitStatus : 0
Invoke-SSHCommand $IndexID.SessionID -command "curl -v telnet://LinuxServerB:4750 2>&1 & sleep 2; kill $!"
# Results
Host : LinuxServerA
Output : {* About to connect() to LinuxServerB port 4750, * Trying 10.10.10.11... connected, * Connected to
LinuxServerB (10.10.10.11) port 4750}
ExitStatus : 0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With