<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Livia Lima</title>
    <description>The latest articles on DEV Community by Livia Lima (@livialima).</description>
    <link>https://dev.to/livialima</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F465647%2Fba54390f-a435-4d73-a8dd-bbb7ac5ffef0.jpeg</url>
      <title>DEV Community: Livia Lima</title>
      <link>https://dev.to/livialima</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/livialima"/>
    <language>en</language>
    <item>
      <title>RSync Basic Commands</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 27 Nov 2020 20:50:57 +0000</pubDate>
      <link>https://dev.to/livialima/rsync-basic-commands-4fbi</link>
      <guid>https://dev.to/livialima/rsync-basic-commands-4fbi</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://rsync.samba.org/"&gt;rsync&lt;/a&gt;&lt;/strong&gt; (remote sync) is an open source utility used for synchronizing files and directories between two different systems, providing fast incremental file transfer. It is a great tool to perform backups.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic usage
&lt;/h2&gt;

&lt;p&gt;To sync the contents of source directory(dir1) to a destination directory(dir2) on the same system:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -a dir1/ dir2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To sync the contents of a local directory(dir1) to a remote directory(dir2):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -a dir1/ username@remote_host:dir2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To sync the contents of a local directory(dir1) to a remote directory(dir2), when using a SSH identity file (private key) for public key authentication:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -e "ssh -i keypair.pem" -a dir1/ username@remote_host:dir2&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Verbose (--verbose, -v)
&lt;/h2&gt;

&lt;p&gt;By default, rsync works silently. This option allows you to see what's happening during the transfer, even if no files are transfered.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -v dir1/ dir2&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -v dir1/ livia@192.168.1.2:remote_dir
livia@192.168.1.2's password:
skipping directory .

sent 16 bytes received 12 bytes 6.22 bytes/sec
total size is 0 speedup is 0.00
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Archive (--archive, -a)
&lt;/h2&gt;

&lt;p&gt;It is a quick way of saying you want to preserve almost everything.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -a dir1/ dir2&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -av dir1/ livia@192.168.1.2:remote_dir
sending incremental file list
./
file1
file2
file3

sent 2,183 bytes received 589 bytes 792.00 bytes/sec
total size is 498 speedup is 0.18
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Recursive (--recursive, -r)
&lt;/h2&gt;

&lt;p&gt;This tells rsync to copy directories recursively.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -r dir1/ dir2&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -rav dir1/ livia@192.168.1.2:remote_dir
sending incremental file list
subdir1/
subdir1/subfile1
subdir1/subfile2
subdir1/subfile3

sent 391 bytes received 77 bytes 133.71 bytes/sec
total size is 83 speedup is 0.18
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;DISCLAIMER:&lt;/strong&gt; Noticed that there is a trailing slash (/) at the end of the first argument in &lt;code&gt;dir1/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rwpxTogm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657054333169/MQuDcR3HJ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rwpxTogm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657054333169/MQuDcR3HJ.png" alt="rsync-trailing-slash.png" width="681" height="63"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is necessary to mean the contents of dir1. The alternative, without the trailing slash, would place &lt;code&gt;dir1&lt;/code&gt;, including the directory, within &lt;code&gt;dir2&lt;/code&gt;. This would create a hierarchy that looks like: &lt;code&gt;~/dir2/dir1/[files]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Compare this output with the trailing slash:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -rav dir1/ livia@192.168.1.2:remote_dir
sending incremental file list
./
file1
file2
file3
subdir1/
subdir1/subfile1
subdir1/subfile2
subdir1/subfile3

sent 534 bytes received 145 bytes 194.00 bytes/sec
total size is 83 speedup is 0.12
$ tree remote_dir/
remote_dir/
 file1
 file2
 file3
 subdir1
     subfile1
     subfile2
     subfile3

1 directory, 6 files
livia@antix1:~
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And when we remove the trailing slash:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -rav dir1 livia@192.168.1.2:remote_dir
sending incremental file list
dir1/
dir1/file1
dir1/file2
dir1/file3
dir1/subdir1/
dir1/subdir1/subfile1
dir1/subdir1/subfile2
dir1/subdir1/subfile3

sent 850 bytes received 260 bytes 246.67 bytes/sec
total size is 83 speedup is 0.07
$ tree remote_dir/
remote_dir/
 dir1
     file1
     file2
     file3
     subdir1
         subfile1
         subfile2
         subfile3

2 directories, 6 files
livia@antix1:~
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see here that the directory itself is transferred.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update (--update, -u)
&lt;/h2&gt;

&lt;p&gt;This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source file.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -u dir1/ dir2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Notice how the size and modified date changes from &lt;code&gt;83 Nov 26 16:56 file1&lt;/code&gt; to &lt;code&gt;677 Nov 27 14:10 file1&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ls -lh remote_dir/
total 8.0K
-rw-rw-r-- 1 livia livia 83 Nov 26 16:56 file1
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file2
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file3
drwxrwxr-x 2 livia livia 4.0K Nov 27 13:42 subdir1

$ rsync -rauv dir1/ livia@192.168.1.2:remote_dir
livia@192.168.1.2's password:
sending incremental file list
./
file1

sent 934 bytes received 45 bytes 217.56 bytes/sec
total size is 677 speedup is 0.69

$ ls -lh remote_dir/
total 8.0K
-rw-rw-r-- 1 livia livia 677 Nov 27 14:10 file1
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file2
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file3
drwxrwxr-x 2 livia livia 4.0K Nov 27 13:42 subdir1
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Dry Run (--dry-run, -n)
&lt;/h2&gt;

&lt;p&gt;This makes rsync perform a trial run that doesn't make any changes (and produces mostly the same output as a real run). Good resource to test the parameters before doing a big transfer.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -n dir1/ dir2&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -rauvn dir1/ livia@192.168.1.2:remote_dir
sending incremental file list
./
file1
file2
file3
subdir1/
subdir1/subfile1
subdir1/subfile2
subdir1/subfile3

sent 235 bytes received 41 bytes 78.86 bytes/sec
total size is 677 speedup is 2.45 (DRY RUN)

$ tree remote_dir/
remote_dir/

0 directories, 0 files
livia@antix1:~
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Progress (--progress, -P)
&lt;/h2&gt;

&lt;p&gt;This option tells rsync to print information showing the progress of the transfer.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rsync -P dir1/ dir2&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rsync -rauvP dir1/ livia@192.168.1.2:remote_dir
sending incremental file list
./
big-file
     67,562,098 100% 1.16MB/s 0:00:55 (xfr#1, to-chk=7/9)

sent 67,562,098 bytes received 100 bytes 945,162.08 bytes/sec
total size is 67,562,198 speedup is 1.00
$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;More about rsync can be found at the &lt;a href="https://download.samba.org/pub/rsync/rsync.1"&gt;manual page&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FileZilla Basics</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 27 Nov 2020 20:20:33 +0000</pubDate>
      <link>https://dev.to/livialima/filezilla-basics-57d5</link>
      <guid>https://dev.to/livialima/filezilla-basics-57d5</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://filezilla-project.org/"&gt;FileZilla&lt;/a&gt;&lt;/strong&gt; is a free and open-source FTP client.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic Connection
&lt;/h2&gt;

&lt;p&gt;Using Quickconnect bar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter the remote &lt;em&gt;hostname&lt;/em&gt; or &lt;em&gt;IP address&lt;/em&gt; at &lt;strong&gt;Host&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter the remote &lt;em&gt;username&lt;/em&gt; at &lt;strong&gt;Username&lt;/strong&gt; and the &lt;em&gt;password&lt;/em&gt; at &lt;strong&gt;Password&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt; : 21 for FTP, 22 for SFTP&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Quickconnect&lt;/strong&gt;. Example: &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aiA5LCJc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657052694575/NrfMzkwjS.png" alt="filezilla-quickconnect.png" width="800" height="129"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using Site Manager:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On the &lt;strong&gt;File&lt;/strong&gt; menu, click &lt;strong&gt;Site Manager&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Protocol list box, select &lt;strong&gt;FTP&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Host&lt;/strong&gt; text box, type the &lt;em&gt;hostname&lt;/em&gt; or &lt;em&gt;IP address&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Port&lt;/strong&gt; text box, type &lt;strong&gt;21&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Logon Type&lt;/strong&gt; list box, select &lt;strong&gt;Normal&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;User&lt;/strong&gt; text box, type your &lt;em&gt;username&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Password&lt;/strong&gt; text box type your &lt;em&gt;password&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JjrXGp9o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053565727/95XRqIDCJ.png" alt="filezilla-site-manager.png" width="800" height="506"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Add a private key for SSH authentication
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On the &lt;strong&gt;Edit&lt;/strong&gt; menu, click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Under Select Page, click &lt;strong&gt;Connection&lt;/strong&gt; , and then click &lt;strong&gt;SFTP&lt;/strong&gt;. A list of currently installed private keys appears.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add key file&lt;/strong&gt;. Select the key, and then click &lt;strong&gt;Open&lt;/strong&gt;. &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XS-_qQSV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053591501/7Rr-eaUAT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XS-_qQSV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053591501/7Rr-eaUAT.png" alt="filezilla-publickey.png" width="777" height="569"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;File&lt;/strong&gt; menu, click &lt;strong&gt;Site Manager&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the Protocol list box, select &lt;strong&gt;SFTP&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Host&lt;/strong&gt; text box, type the &lt;em&gt;hostname&lt;/em&gt; or &lt;em&gt;IP address&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Port&lt;/strong&gt; text box, type &lt;strong&gt;22&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Logon Type&lt;/strong&gt; list box, select &lt;strong&gt;Normal&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;User&lt;/strong&gt; text box, type your &lt;em&gt;username&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave the &lt;strong&gt;Password&lt;/strong&gt; text box blank.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;. &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yeS524I9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053613723/qp7k7j_OO.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yeS524I9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053613723/qp7k7j_OO.png" alt="filezilla-site-manager-sftp.png" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After a few seconds, FileZilla establishes a connection to the server. FileZilla may display a message that the server's host key is unknown. To trust the server permanently, select the Always trust this host, add this key to the cache check box, and then click OK.&lt;/p&gt;

&lt;h2&gt;
  
  
  Transferring files
&lt;/h2&gt;

&lt;p&gt;Once a remote connection is open, you can navigate on the server almost like navigating on your local machine. The current local directory tree is displayed on the left side of the main window by default, the remote directory is displayed on the right side.&lt;/p&gt;

&lt;p&gt;To transfer directories and/or multiple files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the files.&lt;/li&gt;
&lt;li&gt;Right-click the selection.&lt;/li&gt;
&lt;li&gt;Then you can click on Upload/Download in the popup menu.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or drag the files from one side and drop them on the other side.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UYST7VrA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053636134/gKPj6p3hM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UYST7VrA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657053636134/gKPj6p3hM.png" alt="filezilla-transfer.png" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More about FileZilla can be found at the &lt;a href="https://wiki.filezilla-project.org/Documentation"&gt;manual page&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>PuTTY Basics</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Sun, 01 Nov 2020 20:45:54 +0000</pubDate>
      <link>https://dev.to/livialima/putty-basics-4di6</link>
      <guid>https://dev.to/livialima/putty-basics-4di6</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.putty.org/"&gt;PuTTY&lt;/a&gt;&lt;/strong&gt; is a free and open-source terminal emulator, very popular as a SSH client; used primarily by Windows users.&lt;/p&gt;

&lt;h2&gt;
  
  
  SSH Connection
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Open PuTTY&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Session&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enter the &lt;code&gt;username@hostname&lt;/code&gt; or just the remote &lt;em&gt;hostname&lt;/em&gt; or IP address at &lt;strong&gt;Host Name&lt;/strong&gt;. Example:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;admin@192.168.1.2

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Connection: &lt;strong&gt;SSH&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port: &lt;strong&gt;22&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;(Optional) Name your session in &lt;strong&gt;Saved Session&lt;/strong&gt; field and click &lt;strong&gt;Save&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Open&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DISCLAIMER: You may need to generate/add a private key for authentication.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bHBQsz-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657054042822/786kWvPwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bHBQsz-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657054042822/786kWvPwg.png" alt="putty-session.png" width="684" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Add a private key for authentication
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Connections&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SSH&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auth&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Browse and select the &lt;strong&gt;private key&lt;/strong&gt; for authentication. It should be a &lt;code&gt;.ppk&lt;/code&gt; file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cEiRtxa1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657054015584/-RK1HJBsb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cEiRtxa1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657054015584/-RK1HJBsb.png" alt="putty-auth.png" width="682" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a private key with PuTTYGen
&lt;/h2&gt;

&lt;p&gt;On Windows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to Windows &lt;strong&gt;Start&lt;/strong&gt; menu

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;All Programs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PuTTY&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PuTTYgen&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Parameters:

&lt;ul&gt;
&lt;li&gt;Type of key: &lt;strong&gt;RSA&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Number of bits in a generated key: &lt;strong&gt;2048&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Specify a &lt;strong&gt;passphrase&lt;/strong&gt; for the key&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save private key&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;puttygen -t rsa -b 2048 -C "user@host" -o keyfile.ppk

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check the &lt;a href="https://www.ssh.com/ssh/putty/windows/puttygen"&gt;PuTTYGen manual&lt;/a&gt; for more details.&lt;/p&gt;

&lt;h2&gt;
  
  
  Convert an Amazon .pem key to PuTTY .ppk key
&lt;/h2&gt;

&lt;p&gt;On Windows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to Windows &lt;strong&gt;Start&lt;/strong&gt; menu

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;All Programs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PuTTY&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PuTTYgen&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Parameters:

&lt;ul&gt;
&lt;li&gt;Type of key: &lt;strong&gt;RSA&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Number of bits in a generated key: &lt;strong&gt;2048&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Load&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Select your &lt;code&gt;.pem&lt;/code&gt; file for the key pair&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save private key&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;puttygen keyfile.pem -O private -o keyfile.ppk

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check the &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html#putty-private-key"&gt;Amazon Docs&lt;/a&gt; for more details.&lt;/p&gt;

&lt;p&gt;More about PuTTY and PuTTYGen can be found at the &lt;a href="https://www.ssh.com/ssh/putty/putty-manuals/0.68/index.html"&gt;manual page&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to launch an EC2 instance</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Sun, 01 Nov 2020 20:33:35 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-launch-an-ec2-instance-3hpe</link>
      <guid>https://dev.to/livialima/how-to-launch-an-ec2-instance-3hpe</guid>
      <description>&lt;p&gt;The intent is to show how to quickly launch your first EC2 instance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 : Choose the type of instance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to EC2 in the AWS Console.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select a free-tier elegible Linux image, in doubt select &lt;strong&gt;Amazon Linux 2&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Instance Type&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Instance Details&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Storage&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Tag&lt;/strong&gt;. Set key to &lt;strong&gt;Name&lt;/strong&gt; and value to the name you choose to your instance. (Optional step)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt;. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j18o6ium--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657139763702/CQktmZmko.png" alt="aws-ec2-create-instance.png" width="680" height="458"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 2 : Create a Security Group
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Assign a security group: Create a new security group&lt;/li&gt;
&lt;li&gt;Set the security group name and description as you choose.&lt;/li&gt;
&lt;li&gt;SSH connection for Linux instances

&lt;ul&gt;
&lt;li&gt;Type: &lt;strong&gt;SSH&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: &lt;strong&gt;TCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port Range: &lt;strong&gt;22&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;strong&gt;My IP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Description: (optional)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;RDP connection for Windows instances

&lt;ul&gt;
&lt;li&gt;Type: &lt;strong&gt;RDP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: &lt;strong&gt;TCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port Range: &lt;strong&gt;8003&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;strong&gt;My IP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Description: (optional)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;You can add as much rules as needed.&lt;/li&gt;
&lt;li&gt;Click Review and Launch.&lt;/li&gt;
&lt;li&gt;Click Launch. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OqcltdSA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657139743090/3SY7irGrl.png" alt="aws-ec2-sg-gns3.png" width="800" height="246"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3 : Create a Key Pair
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Select: &lt;strong&gt;Create a new key pair&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set the key pair name as you choose.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Download Key Pair&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instances&lt;/strong&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HwSr6gqI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657139722689/ETfnvaYcc.png" alt="aws-ec2-keypair.png" width="406" height="152"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4 (for Linux instances) : Connect to instance using SSH
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Connection method: &lt;strong&gt;A standalone SSH client&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For MacOS and Linux users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Change the keypair file permissions to Only Owner Read/Write as follows:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod 400 my-key-pair.pem

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or, if you are using Windows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File - Properties - Security - Advanced&lt;/li&gt;
&lt;li&gt;Set Owner to the key's user&lt;/li&gt;
&lt;li&gt;Remove all users, groups, and services, except for the key's user, under Permission Entries&lt;/li&gt;
&lt;li&gt;Set key's user to Full Control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the SSH client of your choice, input the details provided.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User name&lt;/li&gt;
&lt;li&gt;Target
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -i my-key-pair.pem user@server-public-dns

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -i "linux-lab.pem" ubuntu@ec2-52-90-153-75.compute-1.amazonaws.com

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K00BmyLA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657139691502/DALuC0AfM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K00BmyLA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657139691502/DALuC0AfM.png" alt="aws-ec2-connect-ssh.png" width="690" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4 (for Windows instances) : Connect to instance using RDP
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Connection method: &lt;strong&gt;A standalone RDP client&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;At the RDP client of your choice, input the details provided.&lt;/li&gt;
&lt;li&gt;Target: &lt;strong&gt;Public DNS&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;User name &lt;strong&gt;Administrator&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Password:

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Get Password&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Key Pair Path: Click &lt;strong&gt;Browse&lt;/strong&gt; to select the keypair downloaded on the previous step.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Decrypt Password&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect&lt;/strong&gt;. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XR47rWTG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657139671864/4kVO129iW.png" alt="aws-ec2-connect-rdp.png" width="778" height="493"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Done! :)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SFTP Basic Commands</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 09 Oct 2020 20:58:17 +0000</pubDate>
      <link>https://dev.to/livialima/sftp-basic-commands-6m5</link>
      <guid>https://dev.to/livialima/sftp-basic-commands-6m5</guid>
      <description>&lt;p&gt;&lt;strong&gt;SSH File Transfer Protocol&lt;/strong&gt; (also Secure File Transfer Protocol, or SFTP) is a network protocol that provides file access, file transfer, and file management over a secure channel, such as SSH.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect
&lt;/h2&gt;

&lt;p&gt;Enter the &lt;strong&gt;username&lt;/strong&gt; and remote &lt;strong&gt;hostname&lt;/strong&gt; or IP address at the command prompt. Once authentication successful, you will see a shell with an &lt;code&gt;sftp&amp;gt;&lt;/code&gt; prompt.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@computer1 ~]$ sftp demo@192.168.1.2
demo@192.168.1.2's password:
Connected to demo@192.168.1.2.
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When using a SSH identity file (private key) for public key authentication:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sftp -i keypair.pem demo@192.168.1.2&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Check current directory
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;lpwd&lt;/strong&gt; print the current directory on your &lt;em&gt;local&lt;/em&gt; system&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; lpwd
Local working directory: /home/livia
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;pwd&lt;/strong&gt; print the current directory on the remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; pwd
Remote working directory: /home/demo
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  List files
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;lls&lt;/strong&gt; list the files in the current directory on your &lt;em&gt;local&lt;/em&gt; system&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; lls
 Desktop lab py3-venv
 Documents mail R
 dotfiles myserverfile snap
 Downloads node_modules Videos
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ls&lt;/strong&gt; list the files in the current directory on the remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; ls
Desktop Documents Downloads Music
Pictures Videos
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Download files
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;get&lt;/strong&gt; download one file from remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; get remote_file.pem
Fetching /home/demo/remote_file.pem to remote_file.pem
/home/demo 100% 1696 906.8KB/s 00:00
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;mget&lt;/strong&gt; download multiple files from remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; mget *.csv
Fetching /home/demo/user1_accessKeys.csv to user1_accessKeys.csv
/home/demo 100% 96 73.1KB/s 00:00
Fetching /home/demo/user2_accessKeys.csv to user2_accessKeys.csv
/home/demo 100% 96 67.0KB/s 00:00
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Upload files
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;put&lt;/strong&gt; upload one file from local computer to the remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; put local_file.pem
Uploading local_file.pem to /home/demo/local_file.pem
local_fil 100% 1696 75.2KB/s 00:00
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;mput&lt;/strong&gt; upload multiple files from local computer to the remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; mput *.csv
Uploading user1_accessKeys.csv to /home/demo/user1_accessKeys.csv
user1_acce 100% 96 129.7KB/s 00:00
Uploading user2_accessKeys.csv to /home/demo/user2_accessKeys.csv
user2_acce 100% 96 132.1KB/s 00:00
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Change directory
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;lcd&lt;/strong&gt; change the current directory on your &lt;em&gt;local&lt;/em&gt; system&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; lpwd
Local working directory: /home/livia
sftp&amp;gt; lcd lab/
sftp&amp;gt; lpwd
Local working directory: /home/livia/lab
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;cd&lt;/strong&gt; change the current directory on the remote server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; pwd
Remote working directory: /home/demo
sftp&amp;gt; cd Documents/
sftp&amp;gt; pwd
Remote working directory: /home/demo/Documents
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Exit
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;exit&lt;/strong&gt; exit the remote server sftp session&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt;
sftp&amp;gt; exit
[user@computer1 ~]$

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;More about SFTP can be found at the &lt;a href="https://man.openbsd.org/sftp"&gt;manual page&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Set Static IP Address on Linux</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 09 Oct 2020 20:52:15 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-set-static-ip-address-on-linux-1kkj</link>
      <guid>https://dev.to/livialima/how-to-set-static-ip-address-on-linux-1kkj</guid>
      <description>&lt;p&gt;Different from desktop machines where you can use dynamic IP addresses, static IP address are often required on a server infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  RHEL / CentOS / Fedora:
&lt;/h2&gt;

&lt;p&gt;You will need to edit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/etc/sysconfig/network-scripts/ifcfg-eth0

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Where &lt;code&gt;ifcfg-eth0&lt;/code&gt; relates to your network interface &lt;code&gt;eth0&lt;/code&gt;. If your interface name is &lt;code&gt;enp1s0&lt;/code&gt; then the file that you will need to edit is &lt;code&gt;ifcfg-enp1s0&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Add the following fields:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DEVICE="eth0"
BOOTPROTO="static"
IPADDR="192.168.1.1"
NETMASK="255.255.255.0"
TYPE="Ethernet"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Debian / Ubuntu:
&lt;/h2&gt;

&lt;p&gt;To setup static IP address in Debian/ Ubuntu, edit the following file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/etc/network/interfaces

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You may see a line looking like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;auto eth0
iface eth0 inet dhcp

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Change it so it looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;auto eth0
iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Restart the networking on your system:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SysVinit&lt;/strong&gt; : &lt;code&gt;/etc/init.d/network restart&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SystemD&lt;/strong&gt; : &lt;code&gt;systemctl restart network&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If unsure of what which system manager your distro uses, try this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pidof systemd &amp;amp;&amp;amp; echo "systemd" || echo "sysvinit"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;You now know how to configure a static IP address on a Linux distro.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to make a network cable</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 09 Oct 2020 20:46:41 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-make-a-network-cable-3a74</link>
      <guid>https://dev.to/livialima/how-to-make-a-network-cable-3a74</guid>
      <description>&lt;p&gt;The aim of this tutorial is to give an overview of cable networking theory and to show how to crimp a connector onto the end of a network cable.&lt;/p&gt;

&lt;p&gt;DISCLAIMER: This tutorial focus only on copper-wired, twisted pair cables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;The tools needed to make a network cable are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;a href="https://www.amazon.com/Mediabridge-Ethernet-Cable-Feet-31-399-25X/dp/B001W28L2Y/ref=sr_1_3?dchild=1&amp;amp;keywords=ethernet+cable+cat5&amp;amp;qid=1602205353&amp;amp;sr=8-3"&gt;ethernet cable&lt;/a&gt; (Cat5/Cat6).&lt;/li&gt;
&lt;li&gt;A few &lt;a href="https://www.amazon.com/CableCreation-100-PACK-Connector-Connectors-Transparent/dp/B01K9Z4FT2/ref=sr_1_3?dchild=1&amp;amp;keywords=RJ45+connectors&amp;amp;qid=1602205406&amp;amp;sr=8-3"&gt;RJ45 connectors&lt;/a&gt;. Please buy more than 2 units. These things are cheap and it is easy for a newbie to break them.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.amazon.com/Stripper-Crimping-Stripping-Telephone-BUSHIBU/dp/B0768QBNWQ/ref=sr_1_2?dchild=1&amp;amp;keywords=mini+wire+stripper&amp;amp;qid=1602205429&amp;amp;sr=8-2"&gt;mini wire stripper&lt;/a&gt; or a knife (but be careful). You can also use a pair of scissors.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.amazon.com/dp/B087YSF629?pd_rd_i=B087YSF629&amp;amp;pd_rd_w=NsJnk&amp;amp;pf_rd_p=4f746af9-b6d9-45af-93e9-2f6052926c10&amp;amp;pd_rd_wg=Onefk&amp;amp;pf_rd_r=7A7EKZ0D06JP9GVTPW3R&amp;amp;pd_rd_r=f84f5db8-6543-4bfc-8b3b-6e2a436152e4"&gt;crimper&lt;/a&gt;. Make sure it does crimp RJ45 connectors (has the capacity for eight wires).&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.amazon.com/iMBAPrice-Network-Cable-Tester-Phone/dp/B01M63EMBQ/ref=sr_1_3?dchild=1&amp;amp;keywords=network+cable+tester&amp;amp;qid=1602205519&amp;amp;sr=8-3"&gt;cable tester&lt;/a&gt;. Optional but very useful during troubleshooting.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Cables
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1NrXDApa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140624537/v4J4nvWZK.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1NrXDApa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140624537/v4J4nvWZK.jpg" alt="cables-cat5-cat6.jpg" width="680" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ethernet cables consist of 8 copper wires, twisted in 4 pairs. The purpose of the twisting is to reduce electromagnetic radiation from the pair and crosstalk between neighboring pairs. This also improves rejection of external electromagnetic interference.&lt;/p&gt;

&lt;p&gt;Twisted pair cables can be &lt;strong&gt;unshielded&lt;/strong&gt; (UTP) or &lt;strong&gt;shielded&lt;/strong&gt; (STP) with an additional layer of conductive material to attenuate electromagnetic waves external to the shield.&lt;/p&gt;

&lt;p&gt;Some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cat5&lt;/strong&gt; : Unshielded. 100BASE-TX / 1000BASE-T. Limited to 100m between equipment. Common for current LANs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cat5e&lt;/strong&gt; : Shielded. 1000BASE-T / 2.5GBASE-T. Limited to 100m between equipment. Enhanced Cat5. Common for current LANs. Same construction as Cat5, but with better testing standards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cat6&lt;/strong&gt; : Shielded. 5GBASE-T / 10GBASE-T. Limited to 55M distance at 10GBASE-T&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The contents of the cable are exactly the same no matter what the plastic jacket color is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connectors
&lt;/h2&gt;

&lt;p&gt;The conventional name for the connectors on the ends of Ethernet cables is &lt;strong&gt;RJ-45&lt;/strong&gt;. They consist of 8 pins, one for each wire inside an Ethernet cable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lASL1G8n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140601511/osmgYbZPb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lASL1G8n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140601511/osmgYbZPb.jpg" alt="rj45-overview.jpg" width="275" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Colors and Pins
&lt;/h2&gt;

&lt;p&gt;There is a sequence for the pins in an RJ-45 connector: &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AEWHmwLa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140583861/_iUAKbRoF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AEWHmwLa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140583861/_iUAKbRoF.png" alt="rj45-pins.png" width="250" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The important factor to remember when wiring RJ-45 plugs is the function of each pin.:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Transmit positive signal (Tx+)&lt;/li&gt;
&lt;li&gt;Transmit negative signal (Tx-)&lt;/li&gt;
&lt;li&gt;Receive positive signal (Rx+)&lt;/li&gt;
&lt;li&gt;Nothing&lt;/li&gt;
&lt;li&gt;Nothing&lt;/li&gt;
&lt;li&gt;Receive negative signal (Rx-)&lt;/li&gt;
&lt;li&gt;Nothing&lt;/li&gt;
&lt;li&gt;Nothing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Following that sequence, there are two main standard pinouts (or orders) for the colored wires of the cable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rb1A3T2S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140564285/V3zRr7h24.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rb1A3T2S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140564285/V3zRr7h24.png" alt="568A.png" width="273" height="195"&gt;&lt;/a&gt;RJ-45 TIA-568A pinout:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Green stripe&lt;/li&gt;
&lt;li&gt;Green solid&lt;/li&gt;
&lt;li&gt;Orange stripe&lt;/li&gt;
&lt;li&gt;Blue solid&lt;/li&gt;
&lt;li&gt;Blue stripe&lt;/li&gt;
&lt;li&gt;Orange solid&lt;/li&gt;
&lt;li&gt;Brown stripe&lt;/li&gt;
&lt;li&gt;Brown solid&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qr-BIqQr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140552191/QIBhX6hQa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qr-BIqQr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140552191/QIBhX6hQa.png" alt="568B.png" width="274" height="190"&gt;&lt;/a&gt;RJ-45 TIA-568B pinout:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Orange stripe&lt;/li&gt;
&lt;li&gt;Orange solid&lt;/li&gt;
&lt;li&gt;Green stripe&lt;/li&gt;
&lt;li&gt;Blue solid&lt;/li&gt;
&lt;li&gt;Blue stripe&lt;/li&gt;
&lt;li&gt;Green solid&lt;/li&gt;
&lt;li&gt;Brown stripe&lt;/li&gt;
&lt;li&gt;Brown solid&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sIiuuTSy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140534691/dEph0CUQH.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sIiuuTSy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140534691/dEph0CUQH.svg" alt="568_A_and_568_B.svg" width="800" height="618"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It doesnt matter which of these standards you use just as long as you are consistent when crimping connectors onto both ends of a cable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Straight, crossover or rollover?
&lt;/h2&gt;

&lt;p&gt;The distinction between a straight through, crossover, and rollover cable comes down to the way that the connectors on each end are wired.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Straight through&lt;/strong&gt; : both sides follow the same wire positions. Straight-Through wired cables are most commonly used to connect a host to a client. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7X4-IP3c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140518641/9N0fdTs3s.png" alt="straight.png" width="422" height="211"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crossover&lt;/strong&gt; : Tx and Rx pairs switch positions (pins 1 &amp;amp; 2 switch to pins 3 &amp;amp; 6). Crossover cables are most commonly used to connect two hosts directly. Examples would be connecting a computer directly to another computer, connecting a switch directly to another switch, or connecting a router to a router. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DAAnXxoz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140502747/k9gG48BRe.png" alt="crossover.png" width="247" height="197"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rollover&lt;/strong&gt; : all pin positions are reversed (pin 1 goes to pin 8, pin 2 to pin 7, etc). Rollover cables are most commonly used to connect to a device's console port to make programming changes to the device. Unlike crossover and straight-wired cables, rollover cables are not intended to carry data but instead create an interface with the device. &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VEr7ndq0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140477431/ffBInpJkQ.png" alt="rollover.png" width="424" height="223"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Making your cable
&lt;/h2&gt;

&lt;p&gt;Check out my &lt;a href="https://www.youtube.com/embed/hhELDJHRz_0"&gt;video about crossover cables&lt;/a&gt; for some visuals.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using a cable stripper, a knife or a pair of scissors, cut the outer plastic jacket off the Ethernet cable. &lt;strong&gt;CAUTION: be gentle! If you go too deep you will cut through the inner wires, exposing the copper.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Untwist the pairs and straight them to make them easier to manipulate.&lt;/li&gt;
&lt;li&gt;Arrange them in the desired standard.&lt;/li&gt;
&lt;li&gt;Measure the wires to the be enough to fit into the RJ-45 connector.&lt;/li&gt;
&lt;li&gt;Cut off the excess wire. Ensure to level the wires, they should align to the flat edge of the connector.&lt;/li&gt;
&lt;li&gt;Carefully, slide the wires inside the connector. Push them enough to see the copper at the edge of the connector.&lt;/li&gt;
&lt;li&gt;Crimp it. The pins should pierce through the wires.&lt;/li&gt;
&lt;li&gt;Repeat the process on the other end of the cable.&lt;/li&gt;
&lt;li&gt;Test the cable using a cable tester. Plug each connector into the tester and turn it on. All pins should send and receive signal. If any pins do not light up on the tester, the connector was badly crimped. Cut the damaged connector and start over.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this tutorial, you learned the basics of cable networking theory and how to crimp your own network cable.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Connect Two Computers using a Crossover Cable</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 09 Oct 2020 20:38:56 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-connect-two-computers-using-a-crossover-cable-1902</link>
      <guid>https://dev.to/livialima/how-to-connect-two-computers-using-a-crossover-cable-1902</guid>
      <description>&lt;p&gt;Ever wondered how to connect two computers together without going through a local network (LAN)?&lt;/p&gt;

&lt;p&gt;If your computers are on a network, you can share files and folders, but what happens if you don't have a router/switch/hub to make that LAN happen?&lt;/p&gt;

&lt;p&gt;In this tutorial I will show you how to use a crossover cable to connect two computers and transfer data.&lt;/p&gt;

&lt;p&gt;DISCLAIMER: I've made this tutorial using Linux.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/hhELDJHRz_0"&gt;https://youtu.be/hhELDJHRz_0&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Zero : Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Administrator access to both computers.&lt;/li&gt;
&lt;li&gt;A crossover ethernet cable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1 : Make (and plug) a crossover cable
&lt;/h2&gt;

&lt;p&gt;If you want to hone your cabling skills, you can &lt;a href="https://blog.livialima.net/how-to-make-a-network-cable"&gt;make your own crossover cable&lt;/a&gt; for this tutorial. But if you don't want the trouble of making a cable, just buy a pre-made &lt;a href="https://www.amazon.com/Tripp-Lite-350MHz-Molded-Cross-over/dp/B0056YN7QE/ref=sr_1_3?dchild=1&amp;amp;keywords=crossover+ethernet+cable+cat5&amp;amp;qid=1602262952&amp;amp;sr=8-3"&gt;crossover ethernet cable&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once you have your cable settled, connect it to the computers. &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KWzSxg5r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140148954/dEMBLS-It.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KWzSxg5r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140148954/dEMBLS-It.jpg" alt="cables-connected-p2p.jpg" width="512" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 : Set a static IP address on both computers
&lt;/h2&gt;

&lt;p&gt;Even if we had both computers connected to a LAN, we are not using the same network addresses. With the crossover cable we are creating a little peer-to-peer connection, and that is a completely different network. For this case, the best solution is to configure a static IP address for each computer (within that new network we're creating).&lt;/p&gt;

&lt;p&gt;Check out the tutorial &lt;a href="https://blog.livialima.net/how-to-set-static-ip-address-on-linux"&gt;How to Set Static IP Address in Linux&lt;/a&gt; to see it in detail.&lt;/p&gt;

&lt;p&gt;Make sure that both computers are on the same subnet (like 192.168.1.1 and 192.168.1.2) and use the same mask (like 255.255.255.248).&lt;/p&gt;

&lt;p&gt;There are two possible configuration files in Linux systems (consider &lt;code&gt;enp1s0&lt;/code&gt; and &lt;code&gt;eth0&lt;/code&gt; as Ethernet interfaces):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/etc/sysconfig/network-scripts/ifccfg-enp1s0&lt;/strong&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PI4y2HbH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140117375/rGa_fuzFg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PI4y2HbH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140117375/rGa_fuzFg.png" alt="static_ip-pc1.png" width="535" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/etc/network/interfaces&lt;/strong&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E_mGoOUE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140084681/oNJKdY6ij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E_mGoOUE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140084681/oNJKdY6ij.png" alt="static_ip-pc2.png" width="800" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With that ready you can do the first test: &lt;code&gt;ping ip_address&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ping 192.168.1.1

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t1bQWEiO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140034504/dkLnOPeCh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t1bQWEiO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140034504/dkLnOPeCh.png" alt="ping-pc1-pc2.png" width="800" height="474"&gt;&lt;/a&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mkLx8-4j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140047484/yG9avmF8H.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mkLx8-4j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140047484/yG9avmF8H.png" alt="ping-pc2-pc1.png" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That confirms both sides are connected and seeing each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 : Security measures (firewalls and user accounts)
&lt;/h2&gt;

&lt;p&gt;The computers see each other but they can't do anything yet. For that you have to open their conversation by allowing incoming SSH connections from one another.&lt;/p&gt;

&lt;p&gt;UFW (Uncomplicated Firewall) is used for managing a Linux firewall.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open ports on the firewall&lt;/strong&gt; : using &lt;code&gt;ufw&lt;/code&gt; we will open port TCP/22 for the other computer (PC1 to PC2, PC2 to PC1 or both).&lt;/p&gt;

&lt;p&gt;To allow incoming SSH connections from a specific IP address named 192.168.1.2, enter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ufw allow from 192.168.1.2 to any port 22

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To enable ufw:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ufw enable

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check the status:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ufw status

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--23aobYwf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140004445/6nCWv1qLm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--23aobYwf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1657140004445/6nCWv1qLm.png" alt="ufw-status-pc2.png" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If &lt;code&gt;ufw&lt;/code&gt; was not enabled the output would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ufw status
Status: inactive

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4 : Enable SSH
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Secure Shell (SSH)&lt;/strong&gt; is a cryptographic network protocol used for an encrypted connection between a client and a server.&lt;/p&gt;

&lt;p&gt;You can enable the SSH server for one or both computers, but the SSH client creates a secure connection only to the machine that have the SSH server daemon (sshd) running.&lt;/p&gt;

&lt;p&gt;Check out the tutorial &lt;a href="https://dev.to/livialima/how-to-setup-and-use-ssh-server-on-linux-29d6-temp-slug-9646631"&gt;How to setup and use SSH Server on Linux&lt;/a&gt; to see it in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5 : Use SFTP
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;For file transfer&lt;/strong&gt; you can use &lt;a href="https://filezilla-project.org/"&gt;FileZilla&lt;/a&gt;, that runs in server and client versions in different platforms (including Windows, Mac and Linux). Or, if you are using Linux or Mac, SFTP is a good choice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SFTP (SSH File Transfer Protocol)&lt;/strong&gt; is a secure file protocol that is used to access, manage, and transfer files over an encrypted SSH connection. SFTP works on a client-server model.&lt;/p&gt;

&lt;p&gt;Check out my tutorials on how to connect using &lt;a href="https://blog.livialima.net/sftp-basic-commands"&gt;SFTP&lt;/a&gt; and &lt;a href="https://blog.livialima.net/filezilla-basics"&gt;FilleZilla&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this tutorial scenario, open a SFTP connection to the other computer: use the &lt;code&gt;sftp&lt;/code&gt; command followed by the username and the IP address:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp demo@192.168.1.2

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You will be prompted to enter the user password. Once connected, you will be presented with the &lt;code&gt;sftp&lt;/code&gt; prompt, and you can start interacting with the remote server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Connected to demo@192.168.1.2
sftp&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use &lt;code&gt;get&lt;/code&gt; to download files and &lt;code&gt;put&lt;/code&gt; to upload.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sftp&amp;gt; get remote_file.txt
Fetching /home/demo/remote_file.txt to remote_file.txt
sftp&amp;gt; put local_file.txt
Uploading local_file.txt to /home/demo/local_file.txt

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this tutorial you learned how to use a crossover cable to connect two computers running Linux and transfer data using SFTP.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to setup and use SSH Server on Linux</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 09 Oct 2020 17:55:56 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-setup-and-use-ssh-server-on-linux-96a</link>
      <guid>https://dev.to/livialima/how-to-setup-and-use-ssh-server-on-linux-96a</guid>
      <description>&lt;h2&gt;
  
  
  Server side : Install OpenSSH
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Debian / Ubuntu&lt;/strong&gt; : &lt;code&gt;sudo apt-get install openssh-server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RHEL / CentOS / Fedora&lt;/strong&gt; : &lt;code&gt;sudo dnf install openssh-server&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Server side : Enable/Start the SSH service
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SysVinit&lt;/strong&gt; : &lt;code&gt;sudo /etc/init.d/sshd start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SystemD&lt;/strong&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl enable sshd
sudo systemctl start sshd

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If unsure of what which system manager your distro uses, try this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pidof systemd &amp;amp;&amp;amp; echo "systemd" || echo "sysvinit"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Client side : Install OpenSSH or other SSH client
&lt;/h2&gt;

&lt;p&gt;OpenSSH client is commonly found already installed in most distros, but here are the steps in case it isn't. You can also use &lt;a href="https://blog.livialima.net/putty-basics"&gt;Putty&lt;/a&gt; as it is very popular and user-friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debian / Ubuntu&lt;/strong&gt; : &lt;code&gt;sudo apt-get install openssh-client&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RHEL / CentOS / Fedora&lt;/strong&gt; : &lt;code&gt;sudo dnf install openssh-client&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Test it
&lt;/h2&gt;

&lt;p&gt;Try to login into the server using &lt;code&gt;ssh user@server-name&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this tutorial, you learned how to install the OpenSSH server application and how to connect to that using a SSH client.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to turn an old PC into a NAS server</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Fri, 18 Sep 2020 20:57:50 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-turn-an-old-pc-into-a-nas-server-4ja0</link>
      <guid>https://dev.to/livialima/how-to-turn-an-old-pc-into-a-nas-server-4ja0</guid>
      <description>&lt;p&gt;Do you have an old computer laying around your house and want to give it a purpose? Why not use it for storage? This is a tutorial on how to install FreeNAS and share a drive with Windows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/M7JOb0R84EU"&gt;https://youtu.be/M7JOb0R84EU&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 : Check your hardware resources
&lt;/h2&gt;

&lt;p&gt;On Windows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the Start button and choose Settings (it's the gear-shaped icon above the power icon).&lt;/li&gt;
&lt;li&gt;Click "System."&lt;/li&gt;
&lt;li&gt;Click "About."&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 2 : Find a distro that suits you
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://distrowatch.com"&gt;DistroWatch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Click "Search"&lt;/li&gt;
&lt;li&gt;On Distribution category, select "NAS"&lt;/li&gt;
&lt;li&gt;On Status, select "Active"&lt;/li&gt;
&lt;li&gt;Click "Submit Query"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You will receive a list with the currently active distributions that are focused on NAS, such as FreeNAS, EasyNAS, OpenMediaVault. Take your time to know the hardware requirements and features for each distro, and compare to your old computer resources. The more you have to use, the easier it is to choose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 : Create a bootable flash drive
&lt;/h2&gt;

&lt;p&gt;Once you have the ISO image downloaded, you need to create a bootable drive to proceed for installation. There are several options in this realm: Rufus, UNetbootin, ImageWriter... the list goes on.&lt;/p&gt;

&lt;p&gt;My personal favorite is &lt;code&gt;dd&lt;/code&gt;, a staple in Linux distros everywhere (&lt;code&gt;/dev/sdb&lt;/code&gt; being the USB drive):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo dd if=distro.iso of=/dev/sdb

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4 : Installation
&lt;/h2&gt;

&lt;p&gt;My pick was &lt;a href="https://www.ixsystems.com/documentation/freenas/11.3-U4/freenas.html"&gt;FreeNAS&lt;/a&gt; but the installation process is pretty much the same for the other NAS distros.&lt;/p&gt;

&lt;p&gt;On installer menu:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Press Enter to select the default option, "Install/Upgrade"&lt;/li&gt;
&lt;li&gt;A minimum of 8 GiB of RAM is required and the installer will present a warning message if less than 8 GiB is detected. &lt;strong&gt;However&lt;/strong&gt; , for domestic sharing with very low volume of requests, or no RAID, 8GiB is good but not necessary.&lt;/li&gt;
&lt;li&gt;Use the arrow keys to highlight the destination SSD, hard drive, USB stick, or virtual disk. If you only have one hard drive, please get at least an USB stick for the system. Drives selected at this stage &lt;strong&gt;cannot be used for data later&lt;/strong&gt;. Press the spacebar to select and press Enter.&lt;/li&gt;
&lt;li&gt;Set the root password.&lt;/li&gt;
&lt;li&gt;Choose UEFI or BIOS booting, depending on how old your computer is. Most UEFI systems can also boot in BIOS mode if CSM (Compatibility Support Module) is enabled in the UEFI setup screens.&lt;/li&gt;
&lt;li&gt;Installation complete! Press Enter to return to Installer Menu and press Enter on "Reboot System".&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 5 : Create a shared volume
&lt;/h2&gt;

&lt;p&gt;First access the WebGUI by typing the server IP address (provided at the end of installation) on a browser, and login with root.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to Storage Pools and click ADD. Select Create new pool and click CREATE POOL&lt;/li&gt;
&lt;li&gt;Enter a name for the pool in the Name field&lt;/li&gt;
&lt;li&gt;From the Available Disks section, select disks to add to the pool.&lt;/li&gt;
&lt;li&gt;After selecting disks, click the &lt;strong&gt;right arrow&lt;/strong&gt; to add them to the Data VDevs section.&lt;/li&gt;
&lt;li&gt;Click CREATE. A dialog shows a reminder that all disk contents will be erased. Click Confirm, then CREATE POOL to create the pool.&lt;/li&gt;
&lt;li&gt;Click Sharing Windows (SMB Shares), then ADD.&lt;/li&gt;
&lt;li&gt;Select path of the pool created.&lt;/li&gt;
&lt;li&gt;Enable Allow Guest Access.&lt;/li&gt;
&lt;li&gt;Press SAVE.&lt;/li&gt;
&lt;li&gt;When prompted to enable SMB service, click "Enable SMB"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Creating a regular user is a good idea to avoid using root to access the volume remotely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6 : Access the volume
&lt;/h2&gt;

&lt;p&gt;On Windows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open File Explorer.&lt;/li&gt;
&lt;li&gt;Select Map network drive.&lt;/li&gt;
&lt;li&gt;Select the Drive Letter that you want from the Drive list.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter the path to the storage in the Folder field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the Connect using different credentials option.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can select the Reconnect at logon check box to automatically reconnect to the storage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the Finish to complete the mapping process. When you are prompted for credentials,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter the NAS user name in the user name field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter the NAS password in the password field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click OK&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Done! Enjoy your new NAS. :)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to setup GNS3 on a remote server</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Wed, 02 Sep 2020 20:59:28 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-setup-gns3-on-a-remote-server-2ddc</link>
      <guid>https://dev.to/livialima/how-to-setup-gns3-on-a-remote-server-2ddc</guid>
      <description>&lt;p&gt;&lt;a href="https://youtu.be/JZQOX3Bj9dY"&gt;https://youtu.be/JZQOX3Bj9dY&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Zero : Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;a href="https://aws.amazon.com/getting-started/"&gt;AWS account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A local &lt;a href="https://docs.gns3.com/docs/"&gt;GNS3&lt;/a&gt; installation&lt;/li&gt;
&lt;li&gt;A local &lt;a href="https://openvpn.net/"&gt;OpenVPN&lt;/a&gt; installation&lt;/li&gt;
&lt;li&gt;A SSH client of your choice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DISCLAIMER: I've made this tutorial using linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 : Launch an EC2 instance
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Launch a Linux instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to EC2 in the AWS Console.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select a free-tier eligible &lt;strong&gt;Ubuntu&lt;/strong&gt; image.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Instance Type&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Instance Details&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Storage&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Tag&lt;/strong&gt;. Set key to &lt;strong&gt;Name&lt;/strong&gt; and value to the name you choose to your instance. (Optional step)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XuZvoT4O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774908413/VahIQFrAY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XuZvoT4O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774908413/VahIQFrAY.png" alt="aws-ec2-create-instance.png" width="680" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a Security Group:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assign a security group: &lt;strong&gt;Create a new security group&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set the security group name and description as you choose.&lt;/li&gt;
&lt;li&gt;SSH connection for admin&lt;/li&gt;
&lt;li&gt;Type: &lt;strong&gt;SSH&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: &lt;strong&gt;TCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port Range: &lt;strong&gt;22&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;strong&gt;My IP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Description: (optional)&lt;/li&gt;
&lt;li&gt;OpenVPN connection port&lt;/li&gt;
&lt;li&gt;Type: &lt;strong&gt;Custom UDP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: &lt;strong&gt;UDP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port Range: &lt;strong&gt;1194&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;strong&gt;My IP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Description: (optional)&lt;/li&gt;
&lt;li&gt;Port to serve VPN config file&lt;/li&gt;
&lt;li&gt;Type: &lt;strong&gt;Custom TCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: &lt;strong&gt;TCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port Range: &lt;strong&gt;8003&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;strong&gt;My IP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Description: (optional)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Review and Launch&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HxXPf08J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774875943/yWR0Uq_V_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HxXPf08J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774875943/yWR0Uq_V_.png" alt="aws-ec2-sg-gns3.png" width="800" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a Key Pair:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select: &lt;strong&gt;Create a new key pair&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set the key pair name as you choose.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Download Key Pair&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instances&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PS7S8viE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774862458/u2faHg8Ut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PS7S8viE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774862458/u2faHg8Ut.png" alt="aws-ec2-keypair.png" width="406" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect to instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Connection method: &lt;strong&gt;A standalone SSH client&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Change the keypair file permissions to &lt;strong&gt;Only Owner Read/Write&lt;/strong&gt; as follows: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;chmod 400 my-key-pair.pem&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or, if you are using Windows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[File] Properties - Security - Advanced&lt;/li&gt;
&lt;li&gt;Set Owner to the key's user&lt;/li&gt;
&lt;li&gt;Remove all users, groups, and services, except for the key's user, under Permission Entries&lt;/li&gt;
&lt;li&gt;Set key's user to Full Control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the SSH client of your choice, input the details provided.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User name &lt;strong&gt;ubuntu&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Target: &lt;strong&gt;Public DNS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -i my-key-pair.pem ubuntu@server-public-dns

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zY4EstCa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774808017/w1iQ61MWi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zY4EstCa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774808017/w1iQ61MWi.png" alt="aws-ec2-connect-ssh.png" width="690" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 : Install OpenVPN and GNS3 on the instance
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Download/Install GNS3:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inside the server: &lt;code&gt;sudo su&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install the GNS3 as instructed by the &lt;a href="https://docs.gns3.com/docs/getting-started/installation/remote-server/"&gt;Installation Guide&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd /tmp
curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh &amp;gt; gns3-remote-install.sh
bash gns3-remote-install.sh --with-openvpn --with-iou --with-i386-repository

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Restart the server for the installation to take effect: &lt;code&gt;reboot now&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3 : Config your OpenVPN client and open the VPN tunnel
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Config OpenVPN client:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SSH back to the server, copy and &lt;strong&gt;download&lt;/strong&gt; the config file provided by the OpenVPN server to your local machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aFr7LPP6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774743767/oLCUZthv3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aFr7LPP6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774743767/oLCUZthv3.png" alt="openvpn-client.png" width="662" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run OpenVPN client:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At your local machine, &lt;strong&gt;run OpenVPN client&lt;/strong&gt; using the file dowloaded:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo openvpn config-file.ovpn

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 5 : Config your GNS3 client
&lt;/h2&gt;

&lt;p&gt;Find the tunnel IP address; at the server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ip addr | grep tun

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ip addr&lt;/strong&gt; list all the IP addresses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;grep tun&lt;/strong&gt; filters the result of 'ip addr' and shows only the records with 'tun' (as in tunnel) in it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mLpYZtiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774643349/GSsI0zitF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mLpYZtiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774643349/GSsI0zitF.png" alt="ubuntu-ip-addr-tunnel.png" width="666" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Config remote main server:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open your local GNS3 client.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; ; &lt;strong&gt;Preferences&lt;/strong&gt; ; &lt;strong&gt;Server&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Uncheck "Enable local server"&lt;/li&gt;
&lt;li&gt;Host: &lt;strong&gt;the tunnel IP address&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port: &lt;strong&gt;3080&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F2IURE3O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774625805/UDhRGs-Lp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F2IURE3O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774625805/UDhRGs-Lp.png" alt="gns3-server-pref.png" width="330" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6 : Enjoy!
&lt;/h2&gt;

&lt;p&gt;Now you have the GNS3 installed and ready to go!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nTt6qYWu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774607066/Od8XnuOAT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nTt6qYWu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774607066/Od8XnuOAT.png" alt="gns3-client.png" width="679" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7 : But before you go... save your work!(and some money)
&lt;/h2&gt;

&lt;p&gt;Don't leave your instance running without any purpose. Save your instance (all configured and tweaked) to use it whenever you're up to lab again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create an AMI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Actions&lt;/strong&gt; ; &lt;strong&gt;Image&lt;/strong&gt; ; &lt;strong&gt;Create Image&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your AMIs will be available on the EC2 Images panel in the AWS Console.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8K-j5xgt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774586953/2eAmPCaFY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8K-j5xgt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774586953/2eAmPCaFY.png" alt="aws-ec2-ami.png" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't forget to terminate your instance!&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Actions&lt;/strong&gt; ; &lt;strong&gt;Instance State&lt;/strong&gt; ; &lt;strong&gt;Terminate&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Yes, Terminate&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>How to setup Cisco Packet Tracer on a remote server</title>
      <dc:creator>Livia Lima</dc:creator>
      <pubDate>Wed, 02 Sep 2020 20:56:59 +0000</pubDate>
      <link>https://dev.to/livialima/how-to-setup-cisco-packet-tracer-on-a-remote-server-3623</link>
      <guid>https://dev.to/livialima/how-to-setup-cisco-packet-tracer-on-a-remote-server-3623</guid>
      <description>&lt;p&gt;&lt;a href="https://youtu.be/JZQOX3Bj9dY"&gt;https://youtu.be/JZQOX3Bj9dY&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Zero : Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;a href="https://aws.amazon.com/getting-started/"&gt;AWS account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Cisco &lt;a href="http://netacad.com"&gt;Network Academy&lt;/a&gt; account&lt;/li&gt;
&lt;li&gt;A RDP client of your choice&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1 : Launch an EC2 instance
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Launch a Windows instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to EC2 in the AWS Console.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select a free-tier eligible &lt;strong&gt;Windows&lt;/strong&gt; image.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Instance Type&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Instance Details&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; - leave the &lt;strong&gt;Storage&lt;/strong&gt; panel as is.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Tag&lt;/strong&gt;. Set key to &lt;strong&gt;Name&lt;/strong&gt; and value to the name you choose to your instance. (Optional step)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ClJPTH2B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774131786/chESLjlc-.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ClJPTH2B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774131786/chESLjlc-.png" alt="aws-ec2-create-instance.png" width="680" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a Security Group:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assign a security group: &lt;strong&gt;Create a new security group&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set the security group name and description as you choose.&lt;/li&gt;
&lt;li&gt;Type: &lt;strong&gt;RDP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: &lt;strong&gt;TCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Port Range: &lt;strong&gt;3389&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;strong&gt;My IP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Description: (optional)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Review and Launch&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tMLIQ5L9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774112254/tkC4nXHa2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tMLIQ5L9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774112254/tkC4nXHa2.png" alt="aws-ec2-sg-rdp.png" width="800" height="243"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a Key Pair:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select: &lt;strong&gt;Create a new key pair&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set the key pair name as you choose.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Download Key Pair&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instances&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JYqk5zVu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774092728/XlB7rNcTEq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JYqk5zVu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774092728/XlB7rNcTEq.png" alt="aws-ec2-keypair.png" width="406" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect to instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Connection method: &lt;strong&gt;A standalone RDP client&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;At the RDP client of your choice, input the details provided.&lt;/li&gt;
&lt;li&gt;Target: &lt;strong&gt;Public DNS&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;User name &lt;strong&gt;Administrator&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Password: Click &lt;strong&gt;Get Password&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Key Pair Path: Click &lt;strong&gt;Browse&lt;/strong&gt; to select the keypair downloaded on the previous step.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Decrypt Password&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XF7XdQvJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774068360/memCqWA27.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XF7XdQvJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774068360/memCqWA27.png" alt="aws-ec2-connect-rdp.png" width="778" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 : Install Cisco Packet Tracer on the instance
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Download/Install Cisco Packet Tracer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inside the server, open a browser and login to: &lt;strong&gt;netacad.com&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Resources&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Download Packet Tracer&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Download the &lt;strong&gt;Windows 64 Bit&lt;/strong&gt; version.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run&lt;/strong&gt; the file downloaded.&lt;/li&gt;
&lt;li&gt;Accept the agreement. Click &lt;strong&gt;Next&lt;/strong&gt; ; &lt;strong&gt;Next&lt;/strong&gt; ; &lt;strong&gt;Next&lt;/strong&gt; ; &lt;strong&gt;Next&lt;/strong&gt; ; &lt;strong&gt;Install&lt;/strong&gt; ; &lt;strong&gt;Finish&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3 : Enjoy!
&lt;/h2&gt;

&lt;p&gt;Now you have the Cisco Packet Tracer installed and ready to go!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bPNhWSfk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774005790/auL_P3lh5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bPNhWSfk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774005790/auL_P3lh5.png" alt="aws-ec2-windows-pt.png" width="639" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4 : But before you go... save your work!(and some money)
&lt;/h2&gt;

&lt;p&gt;Don't leave your instance running without any purpose. Save your instance (all configured and tweaked) to use it whenever you're up to lab again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Save your files:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Install the AWS CLI as instructed on the &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-windows.html"&gt;User Guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a S3 bucket:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 mb s3://mybucket/

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Upload the files to the bucket:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 cp local-file s3://mybucket/

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also pull files from the bucket:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 cp s3://mybucket/remote-file /local-folder/

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Create an AMI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Actions&lt;/strong&gt; ; &lt;strong&gt;Image&lt;/strong&gt; ; &lt;strong&gt;Create Image&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your AMIs will be available on the EC2 Images panel in the AWS Console.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8LsWPMqb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774353026/_d9C_KhRR.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8LsWPMqb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1658774353026/_d9C_KhRR.png" alt="aws-ec2-ami.png" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't forget to terminate your instance!&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back to EC2 Instances panel in the AWS Console.&lt;/li&gt;
&lt;li&gt;Select the instance.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Actions&lt;/strong&gt; ; &lt;strong&gt;Instance State&lt;/strong&gt; ; &lt;strong&gt;Terminate&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Yes, Terminate&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
