Our previous guide on How To Run Bash Scripts on Windows 10 Via Git Bash To Launch Linux GUI App has some basic lack of features which Windows PowerShell provides. Like, from Windows PowerShell, we can navigate to Windows files, directories with notation of Windows, we can open Windows Registry Editor etc. Additionally, not all will want to install Git Bash as extra software on system. Here Are The Steps of How To Use Windows 10 PowerShell To Access Ubuntu Bash And Avoid Opening Ubuntu Application’s Bash. This guide does not need installation of application outside distributed by Microsoft. PowerShell ISE has lot of themes on GitHub and also tweaking options present. We are using plain PowerShell for just demonstration of basics.
Steps To Use Windows 10 PowerShell To Access Ubuntu Bash
The screenshot’s Ubuntu bash is configured as we have described in our earlier guides like How to Install Powerline Fonts, Symbols for Bash on Windows 10. Essentially it is ZSH, somewhat like iTerm2 on Mac.
This guide will need to install Windows 10 SSH Client. Windows 10 also offers an OpenSSH server. We do not need server part for this guide. The SSH client is now a part of Windows 10 as an optional feature. To install it, navigate to Settings from start menu. Then go to Apps, and click Manage optional features
(under Apps & Features). Then click the Add a feature
click menu button option at the top of the list of installed features. Your system may already have the SSH client installed, in that case it will appear in the list here. Otherwise, find OpenSSH Client
option by scrolling down, and click Install
.
---
Next, open Ubuntu Bash on Windows 10. Open sshd_config
config file, before that take backup :
1 2 | cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup sudo nano /etc/ssh/sshd_config |
and make it like this :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | # Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key #Privilege Separation is turned on for security UsePrivilegeSeparation no # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 1024 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin yes AllowUsers root StrictModes yes RSAAuthentication no PubkeyAuthentication no #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords PasswordAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes |
Save the file. Now add a password to your Ubuntu Bash by typing :
1 | passwd |
Now, restart SSH daemon on Ubuntu Bash :
1 | sudo service ssh --full-restart |
After it restarts, you can close that Ubuntu Bash. Open Windows PowerShell and run :
1 | ssh root@127.0.0.1 |
This will login you to your Windows’s Ubuntu Bash. You can configure and set PowerLine font on PowerShell (right click on top corner of PowerShell window to get menu options, then click properties). After login to Ubuntu bash, you can run Ubuntu’s commands like :
1 | apt update -y |
Of course, you can directly SSH to your server from Windows PowerShell without the need of Ubuntu Bash.
Tagged With how to access bash for powershell , ubuntu using powershell , use bash on powershell , ubuntu bash windows 10 customize , open ubuntu in powershell , windows 10 bash ubuntu power shell , powershell windows 10 ubuntu , how to use powershell like bash in windows , how to use bash in powershell , how to configure ubuntu using powershell