PowerShell / PowerShell-Docker

Repository for building PowerShell Docker images
MIT License
392 stars 150 forks source link

Add ssh client to arm32 image #474

Open TravisEz13 opened 3 years ago

TravisEz13 commented 3 years ago

Summary

For Ubuntu-based images, this just needs an apt-get install openssh-client.

Steps to reproduce

New-PSSession -HostName ... -UserName ... -KeyFilePath ...

Expected behavior

Should allow PS remoting over SSH

Actual behavior

Error:

Enter-PSSession: An error has occurred which PowerShell cannot handle. A remote session might have ended.

Digging into the InnerException reveals that it is because of missing ssh:

System.Management.Automation.CommandNotFoundException: The term 'ssh' is not recognized as the name of a cmdlet,
                              function, script file, or operable program.
                              Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
                                 at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandTypes commandTypes,
                              SearchResolutionOptions searchResolutionOptions, CommandOrigin commandOrigin, ExecutionContext context)
                                 at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandOrigin commandOrigin,
                              ExecutionContext context)
                                 at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandOrigin commandOrigin)
                                 at System.Management.Automation.Runspaces.SSHConnectionInfo.StartSSHProcess(StreamWriter& stdInWriterVar,
                              StreamReader& stdOutReaderVar, StreamReader& stdErrReaderVar)
                                 at System.Management.Automation.Remoting.Client.SSHClientSessionTransportManager.CreateAsync()
                                 at System.Management.Automation.Remoting.ClientRemoteSessionDSHandlerImpl.SendNegotiationAsync(RemoteSessionState
                              sessionState)
                                 at System.Management.Automation.Remoting.ClientRemoteSessionDSHandlerImpl.HandleStateChanged(Object sender,
                              RemoteSessionStateEventArgs arg)
                                 at System.Management.Automation.ExtensionMethods.SafeInvoke[T](EventHandler`1 eventHandler, Object sender, T
                              eventArgs)
                                 at System.Management.Automation.Remoting.ClientRemoteSessionDSHandlerStateMachine.RaiseStateMachineEvents()
                                 at System.Management.Automation.Remoting.ClientRemoteSessionDSHandlerStateMachine.ProcessEvents()

For Ubuntu-based images, this just needs an apt-get install openssh-client.

Environment data

Name                           Value
----                           -----
PSVersion                      7.0.0-rc.2
PSEdition                      Core
GitCommitId                    7.0.0-rc.2
OS                             Linux 4.19.76-linuxkit #1 SMP Thu Oct 17 19:31:58 UTC 2019
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
issue-label-bot[bot] commented 3 years ago

Issue-Label Bot is automatically applying the label Issue-Enhancement to this issue, with a confidence of 0.83. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.