- Now this is an application that I'm really excited to share with you. Microsoft have recently released their Windows Terminal application. This is fantastic, especially in combination
with WSL version two. This is a free application
available in the Microsoft Store written by Microsoft that
allows you to interact very easily with Windows PowerShell, the Windows command prompt, as well as your virtual machines running within WSL version two. It also allows you to
do many other things, such as SSH-ing to servers
or routers or switches. Or Telnet-ing to those devices. You can actually configure
it to SSH from Windows or use one of your virtual machines running within WSL version
two to SSH to devices. Fantastic development from Microsoft. It's really nice to see how thing's have changed at Microsoft, and how they are now releasing
open source applications such as Windows Terminal. But rather than me just
talking about this application, let me demonstrate what's possible. Let me show you how to configure this. How to change options
such as copy and paste. How to add a background
image and many other things. Okay, let's get started. (energetic music) Now in this demonstration I'm
using this Windows 10 laptop. I'm controlling it using VNC from my Mac. That just makes it easier
to do the recordings, but I'm doing everything
on this Windows 10 laptop. Now in the bad old days,
if you wanted to SSH to a server or to a device, you could use an
application such as Putty. Windows didn't have SSH built into it. So I'd have to use an
application like Putty to SSH to, in this
example, a Cisco router. I have to accept the public key and then I'll be able
to log in as an example, to my Cisco router. So as you can see here,
show version shows me that I'm connected to a Cisco1941 router. You do something similar
if you wanted to SSH to a Umbuntu server, as an example. This software is really, really old, and hasn't been updated
for many, many years. Now Microsoft has started
supporting SSH within Windows 10. So if I open up a command
prompt and type ssh, I could actually SSH directly to a device. So, I could use a basic command prompt like this to SSH to a device. But notice I have a
traditional command prompt or CMD prompt running here. If I want to use PowerShell,
I'd open up a separate terminal and now I have PowerShell running. But I don't have a tabbed solution. Well, that's until very recently. As mentioned, Microsoft have released the Windows Terminal application. This allows you to run PowerShell, Command Prompt, and various other terminal connections in a tabbed application. So, as an example, this is Ubuntu 20.04 running within WSL version 2. Here's Unbuntu 1804. So the command lsb_released
-a shows me that this is Ubuntu 1804. So notice, Windows
PowerShell, Command Prompt, this is the traditional Command
Prompt that's been around in Windows for many, many years. IP config shows my IP address on my Windows 10 laptop, as an example. Here I've got Ubuntu 20.04
running within WSL version two. And here I've got 1804. But you can customize this
application very easily by going to Settings. I've opened up the settings.json file within Visual Studio code
and notice many, many options are available here for customization. And you can click on the
links within that json file to see the documentation
for Windows Terminal and how to configure, for
instance, global settings, or profile settings, or color schemes, or key bindings and a whole
bunch of other things. So the documentation explains very clearly how you can configure things but I'm gonna demonstrate
some of these options now because I want to show
you that you can also use Windows Terminal to
SSH to network devices. In this example I'm gonna
SSH to a Cisco Nexus device hosted by Cisco in the cloud. So, I am SSH-ing from here in the UK to probably somewhere in the
US where this device is hosted. So, as an example, show
version shows me that this is a Nexus 9000v. I added that myself, and
I'll show you in a moment how to do that. So, by clicking on this little down arrow, I can add a whole bunch of
options to Windows Terminal. You could, as an example,
connect to Azure. I could Telnet to a device. So, this is using Windows
to Telnet to a router. Now Generally you don't want to use Telnet because it's insecure. The passwords can be hacked. But I wanted to show
you that it is possible to use Telnet within this application. So, I'm SSH-ing to a Nexus device. I'm Telnet-ing to a Cisco router. I could SSH to a Cisco router. And notice here, I've
done some customization where I'm showing an icon or a picture. So I can log in to the Cisco router. Which is a Cisco1941 router
within Windows Terminal. That SSH session is using Windows, but you can actually
do very clever things. As an example here, I'm
going to use Ubuntu 20.04, which is a lightweight virtual machine running within WSH version
two running on Windows to SSH to the same router. So I'm using Ubuntu now
to SSH and not Windows. So, this session is SSH-ing
from my Windows laptop to a Cisco router. This session is using an
Ubuntu virtual machine running WSL version two. It's actually this 20.04
LTS Ubuntu virtual machine running within WSL version two
to SSH to the Cisco router. A whole bunch of options
are available here. No longer do you need to use Putty. You can use this free tabbed
application from Microsoft to make SSH or Telnet
connections to routers, switches, servers, et cetera. This application supports a
whole bunch of key strokes. So, as an example, Control
+ Shift + W closes tabs. So, Control + Shift + W. Notice I'm closing my tabs. And I've only got PowerShell now. I can open tabs by using this number. So, as an example, Control
+ Shift + 1 opens PowerShell but Control + Shift + 2
opens this Windows PowerShell using customized colors. Hence, I've called it MyColors. I've customized the colors. Control + Shift + 3 would
open up a Command Prompt as an example. So, notice this is
traditional Command Prompt. And I can do the same thing to open any one of these other sessions. So, Control + Shift + 9. I'm SSH-ing to a Cisco 1941 router. I've also customized
the prompt with an image on the bottom right here, and I could log in to my Cisco router. I can also use Alt + Shift + Plus to open the default application which in my example is PowerShell
and open Windows this way. Alt + Shift + W will open
another window that way. Control + Shift + W will close the tab, so I'll go back to my original tabs. Once again, in the settings, I can specify a whole bunch of options including the default
profile that gets opened when I use those keystrokes. So, what's gonna be opened when
I press Alt + Shift + Plus? It's going to be PowerShell
because notice this guid is the default profile that gets opened. I can create multiple profiles. This is a default one. This is my default PowerShell over here. And I'll just close some of these tabs. Here is the Windows
PowerShell with MyColors. The default versus MyColors. And what I did, is I created this. So, I simply copied the default. This is in json formatting, so this is a nice way to
learn json as an example. I simply copied that
and then I created this, and notice I changed the name to this. That's what's displayed over here. The command I'm gonna
run is powershell.exe. I'm not hiding this tab. The color scheme is different
to the default color scheme. I'm using Campbell Powerhell color scheme. And you can see all
those details once again, in the documentation. So, under Profile settings, you can see what the unique identifier is, what the executable is
that's gonna be run, as an example CMD. You can see dropdown setting options. Such as the name, the icon used. So, once again, going back in here the icon that I used is
test.ico in the temp directory. Now I simply used a darker icon here. Now, that's just to show you an example. You probably want to use
something better than that. But notice this little icon
is showing as a darker icon because that's what I selected over here. ColorScheme is Campbell Powershell. So hence, the color is
blue rather than black. Lots of customization options. The reason that this
shows as the second option in the dropdown is because
it's in the second place in the json file. So it's Windows PowerShell and then Windows PowerShell MyColors. Then it's the default Command Prompt. And then we have dynamic entries. These were created dynamically because I'm using WSL version two and I installed these operating systems. So, as an example, if I search for Ubuntu, I have Ubuntu, I have
the Ubuntu 20.04 LTS app and I have the Ubuntu 18.04 LTS app. I got these from the Microsoft Store, which is where you get Windows Terminal. Windows Terminal is free. So if you just search
for Windows Terminal, you'll be able to download this. It's only about 6MB in size, so very, very small. Mine's already installed
here, as you can see, so I can simply launch it. But, all you need to do is click Get, and then click Install to
install this application very easy to install. So these are dynamic entries. These are virtual machines
running within WSL version two. Windows terminal is automatically updated because I installed these applications. I've also got the default of Azure and then here I've got my
own entries that I created. Such as SSH-ing to a Cisco Nexus device. So, back in Windows Terminal,
click on the down arrow here, notice SSH to Cisco Nexus. I've specified the name of this entry as well as the tab title. The command that I'm running here is SSH-ing to a device on the internet. This is a Cisco device,
once again, hosted by Cisco, on port 8181. That is literally using the ssh command that is available in Command Prompt. So this is a Windows SSH to that device. Here I'm doing something very similar. I'm SSH-ing to a Cisco 1941 router. So, back in Windows Terminal,
notice that's this entry. But what I'm also doing here
is specifying the command which is ssh, and I'm adapting
the security protocol used. Cisco devices use older
encryption algorithms so I'm telling Windows
Terminal to SSH to that device using aes256 encryption. The user name is wsl2 and this is the IP address of my router. If you don't specify the cipher used, the connection will be refused. So you have to specify the cipher here. I've also specified the background image, which is temp\1941v3.jpg. So, that's this little image here. That is the image that's displayed when I open up that tab. So, SSH to 1941 router. Notice, there's the image. The SSH session is permitted even though an older cipher is used. I'm not stretching the image. If I didn't specify that option, the image would be stretched
across the terminal. I'm putting it in the bottom right and I'm specified how
opaque that image is. This is in a value of 0 to 1. And this is another reason why I really like Microsoft Visual Studio. Notice it gives me options. So, if I press Enter here
and double inverted commas, notice I see all the options
that are available to me. And I can simply add them. Much easier than trying to do this in notepad or something else. Here I've got an Ubuntu SSH connection. So, notice here I'm starting WSL. This is not using SSH in Windows. This is using SSH within
this Ubuntu virtual machine running within WSL. So, I'm running Ubuntu. I'm SSH-ing to the device. And notice I'm specifying my algorithms, such as diffie hellman, group1 shal 1. I'm specifying the
encryption, which is aes128. Specifying my user name and the IP address of the device that I'm gonna SSH to. So, once again with Cisco devices you need to specify your ciphers otherwise the connection is refused. And lastly I've got a Telnet
session to that router. Notice the command used is telnet and the IP address of the device. So, Windows Terminal gives
you a lot of options. Once again, I'm SSH-ing
to a Cisco router here. I've specified a background image. From this PowerShell
I've changed the colors. I've also changed the icon. In this example I'm using
an Ubuntu virtual machine running within WSL version
two to SSH to a Cisco router. So many options available
in this application. And I'm only just talking
about some of the options. There are many, many options available. Have a look in the documentation if you want to customize this even more and learn about options
that you can change. One more that I'll
mention, which I forgot, is I wanna copy text when it's selected. Because I'm used to doing that with Putty. By default, that's set to false. But notice here, I just copy
this and then right-click. It's automatically copied and pasted. So, select it to copy. Right-click to paste. That works because I set
Copy On Select to true. There are many, many options
available in this application, but I'm hoping that this gives you a taste of what's possible. Now, if you've enjoyed this video, please don't forget to like it. Please don't forget to
subscribe to my YouTube channel. And please click on the
bell to get notifications. I'm David Bombal and I want
to wish you all the very best. (energetic music)