Running CLI Commands via a Remote Server

Python 3: Automating Network Tasks [BONUS] Running Python Code via Remote Servers
7 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€92.78
List Price:  €129.90
You save:  €37.11
£79.40
List Price:  £111.16
You save:  £31.76
CA$136.11
List Price:  CA$190.56
You save:  CA$54.44
A$154.13
List Price:  A$215.78
You save:  A$61.65
S$135.08
List Price:  S$189.12
You save:  S$54.03
HK$782.28
List Price:  HK$1,095.23
You save:  HK$312.94
CHF 90.61
List Price:  CHF 126.85
You save:  CHF 36.24
NOK kr1,085.23
List Price:  NOK kr1,519.37
You save:  NOK kr434.13
DKK kr692.01
List Price:  DKK kr968.84
You save:  DKK kr276.83
NZ$167.80
List Price:  NZ$234.94
You save:  NZ$67.13
د.إ367.19
List Price:  د.إ514.08
You save:  د.إ146.89
৳10,976.08
List Price:  ৳15,366.96
You save:  ৳4,390.87
₹8,339.52
List Price:  ₹11,675.66
You save:  ₹3,336.14
RM473.25
List Price:  RM662.57
You save:  RM189.32
₦141,842.81
List Price:  ₦198,585.61
You save:  ₦56,742.80
₨27,810.04
List Price:  ₨38,935.18
You save:  ₨11,125.13
฿3,647.70
List Price:  ฿5,106.92
You save:  ฿1,459.22
₺3,232.12
List Price:  ₺4,525.11
You save:  ₺1,292.98
B$499.21
List Price:  B$698.91
You save:  B$199.70
R1,908.54
List Price:  R2,672.04
You save:  R763.49
Лв180.65
List Price:  Лв252.92
You save:  Лв72.26
₩135,197.71
List Price:  ₩189,282.20
You save:  ₩54,084.49
₪368.63
List Price:  ₪516.10
You save:  ₪147.47
₱5,633.91
List Price:  ₱7,887.71
You save:  ₱2,253.79
¥15,144.47
List Price:  ¥21,202.86
You save:  ¥6,058.39
MX$1,659.40
List Price:  MX$2,323.22
You save:  MX$663.82
QR364.31
List Price:  QR510.04
You save:  QR145.73
P1,370.91
List Price:  P1,919.33
You save:  P548.42
KSh13,148.68
List Price:  KSh18,408.68
You save:  KSh5,260
E£4,729.52
List Price:  E£6,621.52
You save:  E£1,892
ብር5,680.63
List Price:  ብር7,953.11
You save:  ብር2,272.48
Kz83,612.74
List Price:  Kz117,061.18
You save:  Kz33,448.44
CLP$97,978.20
List Price:  CLP$137,173.40
You save:  CLP$39,195.20
CN¥722.95
List Price:  CN¥1,012.16
You save:  CN¥289.21
RD$5,921.50
List Price:  RD$8,290.34
You save:  RD$2,368.83
DA13,490.83
List Price:  DA18,887.70
You save:  DA5,396.87
FJ$226.12
List Price:  FJ$316.58
You save:  FJ$90.46
Q779.86
List Price:  Q1,091.83
You save:  Q311.97
GY$20,923.51
List Price:  GY$29,293.76
You save:  GY$8,370.24
ISK kr13,946.60
List Price:  ISK kr19,525.80
You save:  ISK kr5,579.20
DH1,013.19
List Price:  DH1,418.51
You save:  DH405.32
L1,763.34
List Price:  L2,468.75
You save:  L705.40
ден5,702.11
List Price:  ден7,983.18
You save:  ден2,281.07
MOP$805.89
List Price:  MOP$1,128.28
You save:  MOP$322.39
N$1,893.44
List Price:  N$2,650.90
You save:  N$757.45
C$3,681.15
List Price:  C$5,153.75
You save:  C$1,472.60
रु13,335.63
List Price:  रु18,670.42
You save:  रु5,334.78
S/370.84
List Price:  S/519.19
You save:  S/148.35
K382.72
List Price:  K535.82
You save:  K153.10
SAR375
List Price:  SAR525.01
You save:  SAR150.01
ZK2,522.76
List Price:  ZK3,531.96
You save:  ZK1,009.20
L461.43
List Price:  L646.02
You save:  L184.59
Kč2,350.75
List Price:  Kč3,291.15
You save:  Kč940.39
Ft36,729.02
List Price:  Ft51,422.10
You save:  Ft14,693.08
SEK kr1,071.30
List Price:  SEK kr1,499.86
You save:  SEK kr428.56
ARS$85,766.82
List Price:  ARS$120,076.98
You save:  ARS$34,310.16
Bs691.04
List Price:  Bs967.48
You save:  Bs276.44
COP$387,583.68
List Price:  COP$542,632.66
You save:  COP$155,048.97
₡50,832.34
List Price:  ₡71,167.31
You save:  ₡20,334.97
L2,468.78
List Price:  L3,456.40
You save:  L987.61
₲737,805.73
List Price:  ₲1,032,957.54
You save:  ₲295,151.80
$U3,781.90
List Price:  $U5,294.82
You save:  $U1,512.91
zł400.73
List Price:  zł561.05
You save:  zł160.31
Already have an account? Log In

Transcript

Hi, and welcome to this section. Many of you have asked me how to handle the case when the network device or devices are not directly connected to the machine running the Python script, but to an intermediary remote server in between the local system and the network. That's why I decided it's time to put together a short guide on how to run Python code using an intermediary server. And for this scenario, I'm going to use my local Windows machine, the Ubuntu virtual machine from earlier in the course as the remote server and one of the Arista virtual switches as the target network device. In the first video of this section, you're going to learn how to build a local Python script that runs a restart like commands from a remote server namely the aboon two virtual machine. Basically, this script will open an SSH session to the Ubuntu system.

From there, it's going to open yet another remote session, this time to the Arista switch. Then it will execute a COI command, and will also return the result back into the windows command line. before seeing the code, let's make sure that we have IP connectivity between the local windows 10 system and the Ubuntu remote server. And between the Ubuntu server and the Arista switch, so first of all, let me ping the Ubuntu virtual machine ping 10 dot 10 dot 10 dot 100 and indeed it is reachable. Now let's head over to the Ubuntu virtual machine and ping theories the switch being 10 dot 10 dot 10 dot three. And indeed, the Arista switch is reachable as well.

Next, it's time to install and enable SSH on both the Windows machine and Ubuntu server. Let's start with Ubuntu virtual machine. We are going to use the terminal to download and install Open SSH on this Ubuntu virtual machine. So let me type in sudo abt get install, open SSH, sorry, open SSH dash server. And there's why I'm going to hit enter. I'm going to enter my password Python.

And as you can notice, since I already installed open SSH on my Ubuntu VM, it will not perform the installation process once again, however, you should go ahead and install it right now if you haven't done that already. Next, it's time to install Open SSH on the local Windows operating system as well. I have attached a link to this lecture with instructions on how to enable the SSH client on Windows 10. The main idea is to go to your settings, and then click on apps. Then click on Manage optional features. And then check this list to see if you already have the open SSH client installed.

In my case, I have installed it earlier, but most probably you will don't have it installed since it's not enabled by default in Windows 10. That's why you should click the Add a feature button right here and scroll down to find the open SSH client in the list. Then simply just click on it, and then hit install. After the installation is complete, you will be able to open SSH connections from within the windows command line. But keep in mind that you should use CMD as an administrator to be able to use SSH. We will see that and test that in the next lectures.

For now, at this point, our setup is complete. So let's see how to run COI commands on the Arista switch through the boon to remote server. For this we are going to use a special Python module that we need to install using the package manager. The module is called jump SSH. So I'm going to enter the windows command line. By the way, you can find the links to the official documentation of jump SSH and also there GitHub page attached to this lecture, feel free to read the contents of both of these links to see what you can and cannot do with this module.

Now back to the installation, let's type in pip install, jump, SSH, enter. As you can see, I already installed this module. That's why it says requirement already satisfied. However, in your case, you should wait for the download and installation process to be complete. Now let's see the code Finally, first of all, as always, we are going to import the necessary modules. In this case, we are going to need the SSH session class from within the jump SSH module.

On the next line right here we are creating an opening the SSH session to the intermediate Ubuntu server by passing several values as arguments as you can see in between the parentheses, the IP address of the Ubuntu virtual machine and the username and password used to log in over SSH In my case, they are Hi and Python, these are actually the credentials you are using to log into the Ubuntu VM when accessing it from VirtualBox using the graphical user interface. Finally, we are using the open method right here at the end to open the SSH session to the Ubuntu server. As soon as the session is established, we move on to the next step, opening the remote session to the restart virtual switch. For this, we're going to use the server session object from above and call the get remote session method. Again passing three values as arguments.

This time, we will specify the IP address of the Arista switch, which is 10 dot 10 dot 10 dot three right here, and then the username and password we already configured earlier in the course, in my case, admin, and Python. Finally, it's time to send the COI command and have the output returned. For this example, I chose the show IP interface brief command Which I had to provide as an argument to the get CMD output method. I also use the print function to have the output of show IP interface brief printed out to the screen in the windows command line. Last but not least, I use the close method right here to close the SSH session to the remote server once I get the desired result. before running the script, let's head over to the Arista switch and run the show command to see the results in the CLS.

So I'm going to open up the Arista switch, login, admin, password, Python, enable and show IP interface brief. And we have these two interfaces, the loopback interface and the management one interface. Okay. Now let's run the script in the windows command line and see what happens. It should return the same result right? Let's say this so Python D Remote dot p y, Enter.

And indeed, as you can see, the result is correct. Again, feel free to browse the documentation of the jump SSH module to see what other operations can be performed on a network device using an intermediary remote server. I'll see you in the next lecture.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.