<?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: Estevez Ben Lajamin</title>
    <description>The latest articles on DEV Community by Estevez Ben Lajamin (@mossymoo).</description>
    <link>https://dev.to/mossymoo</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%2F663963%2Ff487ca5d-bc89-476d-a662-16766b83eea2.png</url>
      <title>DEV Community: Estevez Ben Lajamin</title>
      <link>https://dev.to/mossymoo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mossymoo"/>
    <language>en</language>
    <item>
      <title>Query Explain Type</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Tue, 20 Aug 2024 04:37:20 +0000</pubDate>
      <link>https://dev.to/mossymoo/query-explain-type-44g5</link>
      <guid>https://dev.to/mossymoo/query-explain-type-44g5</guid>
      <description>&lt;p&gt;ALL: This type indicates a full table scan where no index is used. It’s generally the slowest option since it scans the entire table.&lt;/p&gt;

&lt;p&gt;index: This type represents a full index scan, meaning the entire index is scanned rather than just part of it. It's faster than a full table scan but can still be slow for large indexes.&lt;/p&gt;

&lt;p&gt;range: Used for range queries, this type indicates that a range scan is being used on the index. It's more efficient than a full table scan for queries involving ranges.&lt;/p&gt;

&lt;p&gt;ref: This type is used when a non-unique index is used to retrieve rows that match a single value or a set of values. It's more efficient than ALL or index for certain queries.&lt;/p&gt;

&lt;p&gt;eq_ref: Indicates the use of a unique index where the query matches a single row. It’s very efficient for queries that involve unique indexes.&lt;/p&gt;

&lt;p&gt;const: This type is optimized for queries using a primary key or unique index. It’s very fast as it typically returns at most one row.&lt;/p&gt;

&lt;p&gt;unique_subquery: This type is used when a unique index is utilized within a subquery. It’s efficient for subqueries with unique constraints.&lt;/p&gt;

&lt;p&gt;fulltext: This type shows that a full-text index is being used, which is optimized for text search operations.&lt;/p&gt;

&lt;p&gt;primary: Indicates that the primary key index is being used, which is typically the most efficient method for primary key lookups.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Adventure to Cybersecurity] Common DNS records</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Fri, 05 Apr 2024 02:57:49 +0000</pubDate>
      <link>https://dev.to/mossymoo/adventure-to-cybersecurity-common-dns-records-20mf</link>
      <guid>https://dev.to/mossymoo/adventure-to-cybersecurity-common-dns-records-20mf</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Think of DNS records like entries in a phone book. When you want to call someone, you look up their name in the phone book to find their phone number. Similarly, when you type a website's name into your browser, your computer looks up that name in a DNS database to find the website's address (like a phone number) so it knows where to go.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;A Record (Address Record)&lt;/strong&gt;: Used for IPv4 addresses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AAAA Record (IPv6 Address Record)&lt;/strong&gt;: Similar to the A record, but for the newer IPv6 addresses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CNAME Record (Canonical Name Record)&lt;/strong&gt;: Used to alias another domain. eg. if you have a domain &lt;a href="http://www.example.net"&gt;www.example.net&lt;/a&gt; and subdomain blog.example.net, you can use CNAME to point these two to the same ip address. In other way, if you type either one of the domains, it will still showing the same content. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MX Record (Mail Exchange Record)&lt;/strong&gt;: Imagine it as the postal address for email. It tells email servers where to deliver emails for a domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TXT Record (Text Record)&lt;/strong&gt;: Think of it as leaving a note. It stores additional text information about a domain, like verification details or security settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NS Record (Name Server Record)&lt;/strong&gt;: Like listing the names of phone book publishers. It tells the internet where to find the authoritative name servers for a domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PTR Record (Pointer Record)&lt;/strong&gt;: It's like reverse lookup in a phone book. It maps an IP address back to a domain name. (Usually domain owner don't have this control, only the ISP)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SRV Record (Service Record)&lt;/strong&gt;: It's like a directory of services. It provides information about specific services available within a domain, like chat or email. (eg, like a list of gaming server, when client call they will get a list of server and then made the decision which server to call based on the priority and weight)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Subscribe my YouTube channel for my adventure on breaking to cybersecurity. :)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;[Estevez Ben Lajamin]&lt;/em&gt;(&lt;a href="https://www.youtube.com/channel/UChR0Pyvibwn_2j6QwfuwZNA"&gt;https://www.youtube.com/channel/UChR0Pyvibwn_2j6QwfuwZNA&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>dns</category>
    </item>
    <item>
      <title>System Design: Hybrid WebApp using server sent event</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Fri, 05 Apr 2024 02:20:30 +0000</pubDate>
      <link>https://dev.to/mossymoo/system-design-hybrid-webapp-using-server-sent-event-fc6</link>
      <guid>https://dev.to/mossymoo/system-design-hybrid-webapp-using-server-sent-event-fc6</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is a server sent event?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A client subscribes to a “stream” from a server and the server will send messages (“event-stream”) to the client until the server or the client closes the stream&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why such system design?&lt;/strong&gt;&lt;br&gt;
I am required to design a system architecture that requires on-prem WebApp to be able to interact with Cloud Web App.&lt;/p&gt;

&lt;p&gt;Cloud Web App will act as a SAAS service for on-prem WebApp. Each on-prem WebApp is unique for each building. I did the design using websocket and Apache Pulsar but realized that although these two were able to solve the problem, it took a lot more time and ended up dragging the deadline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do I choose a server sent event instead of websocket or publish subscribe mechanism like Apache Kafka or Apache Pulsar?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Complexity on implementing&lt;/li&gt;
&lt;li&gt;Complexity of hiring expertise&lt;/li&gt;
&lt;li&gt;Complexity on distribution (Human Training)&lt;/li&gt;
&lt;li&gt;Lack of team member (There only 2 of us)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Diagram&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbcc1d45nkeyilvkxlly4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbcc1d45nkeyilvkxlly4.png" alt="Image description" width="465" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Laravel route code&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;Route::get('/sse/{id}', function ($id) {
    $random_string = chr(rand(65, 90)) . chr(rand(65, 90)) . chr(rand(65, 90));
    $data = [
      'message' =&amp;gt; $random_string,
      'name' =&amp;gt; 'Sadhan Sarker',
      'time' =&amp;gt; date('h:i:s'),
      'id' =&amp;gt; $id,
    ];

    $response = new StreamedResponse();
    $response-&amp;gt;setCallback(function () use ($data){
      echo 'data: ' . json_encode($data) . "\n\n";
      ob_flush();
      flush();
      usleep(200000);   

    });
    $response-&amp;gt;headers-&amp;gt;set('Content-Type', 'text/event-stream');
    $response-&amp;gt;headers-&amp;gt;set('X-Accel-Buffering', 'no');
    $response-&amp;gt;headers-&amp;gt;set('Cach-Control', 'no-cache');
    $response-&amp;gt;headers-&amp;gt;set('Access-Control-Allow-Origin', '*');
    $response-&amp;gt;send();
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Nodejs EventSource client&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;var ess = require('event-source-stream')

ess('http://mydomain.com/sse/1122')
  .on('data', function(data) {
    console.log('received event:', data)
  })
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NGINX Configuration&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;server {
    listen 80;
    server_name mydomain.com;
    root /var/www/mydomain.com/wee/public;

    index index.html index.htm index.php;

    location / {
        ## try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
     }

    location ~ /\.ht {
        deny all;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Benefits on using server sent event&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reduce complexity of entire system design. (Compared with websocket and pubsub)&lt;/li&gt;
&lt;li&gt;Easier and faster to code.&lt;/li&gt;
&lt;li&gt;Not require prior knowledge on websocket or pubsub.&lt;/li&gt;
&lt;li&gt;Less changes on software distribution. (If you're in a desktop software business, even a slight changes will cause a lot of problems especially if you're dealing with non technical peoples)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note that this blog post is meant to help you on designing your system better and give you a sense on where to start. The codes are merely just for education and demonstration purposes.Feel free to code based on your use case.&lt;/p&gt;

&lt;p&gt;Peace out :)&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>realtime</category>
    </item>
    <item>
      <title>[Adventure to Cybersecurity] How DNS Work</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Fri, 05 Apr 2024 02:16:30 +0000</pubDate>
      <link>https://dev.to/mossymoo/adventure-to-cybersecurity-how-dns-work-5g99</link>
      <guid>https://dev.to/mossymoo/adventure-to-cybersecurity-how-dns-work-5g99</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;DNS, or Domain Name System, is like the internet's phonebook. It translates human-readable website addresses into computer-friendly IP addresses. eg. &lt;a href="http://www.example.com"&gt;www.example.com&lt;/a&gt; to 192.168.12.45&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0icnnrv3oe9480y0vkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0icnnrv3oe9480y0vkb.png" alt="How DNS Work" width="800" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Subscribe my YouTube channel for my adventure on breaking to cybersecurity.&lt;/em&gt; :)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;[Estevez Ben Lajamin]&lt;/em&gt;(&lt;a href="https://www.youtube.com/channel/UChR0Pyvibwn_2j6QwfuwZNA"&gt;https://www.youtube.com/channel/UChR0Pyvibwn_2j6QwfuwZNA&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>dns</category>
    </item>
    <item>
      <title>[Adventure to Cybersecurity] Diagram on how DNSSEC work</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Fri, 05 Apr 2024 02:11:56 +0000</pubDate>
      <link>https://dev.to/mossymoo/adventure-to-cybersecurity-diagram-on-how-dnssec-work-7fb</link>
      <guid>https://dev.to/mossymoo/adventure-to-cybersecurity-diagram-on-how-dnssec-work-7fb</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;DNSSEC adds an extra layer of security to the Domain Name System (DNS) by allowing DNS clients to verify that the responses they receive from authoritative DNS servers are authentic and haven't been tampered with.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fez0hokd6hr29m3rqidnd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fez0hokd6hr29m3rqidnd.png" alt="How DNSSEC" width="800" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Subscribe my YouTube channel for my adventure on breaking to cybersecurity. :)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;[Estevez Ben Lajamin]&lt;/em&gt;(&lt;a href="https://www.youtube.com/channel/UChR0Pyvibwn_2j6QwfuwZNA"&gt;https://www.youtube.com/channel/UChR0Pyvibwn_2j6QwfuwZNA&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>dns</category>
      <category>cybersecurity</category>
      <category>security</category>
    </item>
    <item>
      <title>How SSL certificate works? Easy reference</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Thu, 05 Aug 2021 13:37:54 +0000</pubDate>
      <link>https://dev.to/mossymoo/how-ssl-certificate-works-easy-reference-4i91</link>
      <guid>https://dev.to/mossymoo/how-ssl-certificate-works-easy-reference-4i91</guid>
      <description>&lt;p&gt;SSL certificate plays an important role in building trust between a browser and a web server.  Below is a simple sequence diagram that I created for easy reference and understanding.&lt;/p&gt;

&lt;p&gt;A digital signature is create by a CA's private key.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pg3nn8ylffyjc58f7ij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pg3nn8ylffyjc58f7ij.png" alt="How SSL certificate works? sequence diagram" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope this help :) &lt;/p&gt;

&lt;p&gt;Reference LINK:&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=33VYnE7Bzpk"&gt;How SSL certificate works? by Sunny Classroom&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How-to-use guide for SSH</title>
      <dc:creator>Estevez Ben Lajamin</dc:creator>
      <pubDate>Fri, 09 Jul 2021 14:46:32 +0000</pubDate>
      <link>https://dev.to/mossymoo/how-to-use-guide-for-ssh-4n58</link>
      <guid>https://dev.to/mossymoo/how-to-use-guide-for-ssh-4n58</guid>
      <description>&lt;p&gt;If you want to watch the video version of this, here the link (&lt;a href="https://youtu.be/lWWlEDRO2uo"&gt;https://youtu.be/lWWlEDRO2uo&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;SSH Authentication Methods&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Password [Using your server's user's password]&lt;/li&gt;
&lt;li&gt;Public/Private Key Pair&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98rbt5k4ee5nnttr07fb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98rbt5k4ee5nnttr07fb.png" alt="Screenshot from 2021-07-09 11-11-42" width="611" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't use root to login. Instead create a new user&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a new user&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;adduser chloe[Can be any name]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhyujqxvp60yfagw4q1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhyujqxvp60yfagw4q1f.png" alt="Screenshot from 2021-07-09 11-25-30" width="518" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now add chloe to sudo group&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 usermod -aG sudo chloe.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52xhtnm6s1q12n0g0kf4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52xhtnm6s1q12n0g0kf4.png" alt="Screenshot from 2021-07-09 11-30-12" width="554" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Since you created a new user, add the public key to that user .ssh folder. It's usually located at /home/chloe. Create a new .ssh folder and create authorized_keys if not exist and paste public key inside.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5xa7f30t1myn83gq8qi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5xa7f30t1myn83gq8qi.png" alt="Screenshot from 2021-07-09 17-51-35" width="281" height="126"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Login into remote server and navigate to /home/chloe
# Create a new .ssh folder
sudo mkdir /home/chloe/.ssh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Create file 'authorized_keys'
# Paste client public key inside
# Save it
sudo nano authorized_keys
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Next, change the ownership of the folder to chloe.&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 chown -R chloe:chloe /home/chloe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;chown - change ownership&lt;br&gt;
R - Everything&lt;br&gt;
chloe:chloe - user:group&lt;br&gt;
/home/chloe - folder path&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Now, on client side, if you're using new public/private key pair then you have to add them.&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;ssh-add /path/to/privatekey [eg. ~/.ssh/id_rso_new]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;[optional]There a possibility that ssh agent inactive. Active by run&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;eval `ssh-agent -s`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That all. Hope the steps simple enough to understand. Peace :) &lt;/p&gt;

</description>
      <category>ssh</category>
    </item>
  </channel>
</rss>
