Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ssh-copy-id fails if powershell is default shell #4691

Copy link
Copy link
@SteveL-MSFT

Description

@SteveL-MSFT
Issue body actions

ssh-copy-id is a popular shebang bash script to make it easy to deploy public keys on target machines for key based authn.
The problem is that this script uses the POSIX shell cmd exec which is unknown to powershell:

ssh "$@" "exec sh -c 'cd ; umask 077 ; mkdir -p .ssh && cat >> .ssh/authorized_keys

This can block adoption of powershell as the default shell (via chsh)

Steps to reproduce

PS> ssh-copy-id user@host

Expected behavior

Success

Actual behavior

ssh-copy-id user@host/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@host's password: 
exec : The term 'exec' 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 line:1 char:1
+ exec sh -c 'cd ; umask 077 ; mkdir -p .ssh && cat >> .ssh/authorized_ ...
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (exec:String) [], CommandNotFoun 
   dException
    + FullyQualifiedErrorId : CommandNotFoundException

Environment data

Name                           Value                                                                                                
----                           -----                                                                                                
PSVersion                      6.0.0-beta                                                                                           
PSEdition                      Core                                                                                                 
GitCommitId                    v6.0.0-beta.6                                                                                        
OS                             Linux 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017                           
Platform                       Unix                                                                                                 
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                              
PSRemotingProtocolVersion      2.3                                                                                                  
SerializationVersion           1.1.0.1                                                                                              
WSManStackVersion              3.0             
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    Committee-ReviewedPS-Committee has reviewed this and made a decisionPS-Committee has reviewed this and made a decisionResolution-FixedThe issue is fixed.The issue is fixed.WG-DevEx-Portabilityauthoring cross-platform or cross-architecture modules, cmdlets, and scriptsauthoring cross-platform or cross-architecture modules, cmdlets, and scripts

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.