<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Arash Tech]]></title><description><![CDATA[Arash Tech]]></description><link>https://blog.arashfarahmandi.ir</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1712078737763/79e2366e-8914-4e31-8ef2-b535b046873a.png</url><title>Arash Tech</title><link>https://blog.arashfarahmandi.ir</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 17:29:17 GMT</lastBuildDate><atom:link href="https://blog.arashfarahmandi.ir/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to Set Up Your Ubuntu Server for Secure, Password-Free Git Pulls (The Correct and Permanent Way)]]></title><description><![CDATA[If you’re deploying code to an Ubuntu server, you’ve probably typed GitHub credentials more times than you’d like. Or worse—maybe you tried embedding your GitHub Personal Access Token (PAT) directly inside a clone URL and discovered GitHub now reject...]]></description><link>https://blog.arashfarahmandi.ir/how-to-set-up-your-ubuntu-server-for-secure-password-free-git-pulls-the-correct-and-permanent-way</link><guid isPermaLink="true">https://blog.arashfarahmandi.ir/how-to-set-up-your-ubuntu-server-for-secure-password-free-git-pulls-the-correct-and-permanent-way</guid><dc:creator><![CDATA[Arash Farahmandi]]></dc:creator><pubDate>Thu, 04 Dec 2025 07:18:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1764832577979/4557fa3c-b35b-4d9c-8d68-792e8e8f6b5a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you’re deploying code to an Ubuntu server, you’ve probably typed GitHub credentials more times than you’d like. Or worse—maybe you tried embedding your GitHub Personal Access Token (PAT) directly inside a clone URL and discovered GitHub now rejects that method.</p>
<p>What you <em>really</em> want is simple:</p>
<p>✔ Run <code>git pull</code>, <code>git clone</code>, or <code>git fetch</code><br />✔ <strong>Without entering username, password, or tokens</strong><br />✔ <strong>Without using sudo</strong><br />✔ <strong>And without leaking PATs</strong></p>
<p>This guide walks you through <strong>the correct, secure, permanent way</strong> to authenticate your Ubuntu server with GitHub using SSH keys—GitHub’s official recommended method.</p>
<hr />
<h2 id="heading-why-you-should-stop-using-https-tokens-for-git"><strong>Why You Should Stop Using HTTPS Tokens for Git</strong></h2>
<p>GitHub removed support for passing a PAT inside the URL (like <a target="_blank" href="https://TOKEN@github.com/...\).￼It’s"><code>https://TOKEN@github.com/...</code>).<br />It’s</a> insecure and now officially blocked.</p>
<p>Instead, the long-term, secure solution is <strong>SSH authentication</strong>.</p>
<p>Benefits:</p>
<ul>
<li><p>🔐 No passwords or tokens</p>
</li>
<li><p>🚀 Faster than HTTPS</p>
</li>
<li><p>🛡 Safe even on public servers</p>
</li>
<li><p>🔄 Works for pull/push automatically</p>
</li>
<li><p>🧹 Avoids <code>sudo git</code> permission disasters</p>
</li>
</ul>
<hr />
<h1 id="heading-step-1-generate-an-ssh-key-on-your-ubuntu-server"><strong>Step 1 — Generate an SSH Key on Your Ubuntu Server</strong></h1>
<p>Run the following command:</p>
<pre><code class="lang-bash">ssh-keygen -t ed25519 -C <span class="hljs-string">"your_github_email@example.com"</span>
</code></pre>
<p>Press <strong>Enter</strong> to accept the default file location:</p>
<pre><code class="lang-plaintext">/home/youruser/.ssh/id_ed25519
</code></pre>
<p>You may also set a passphrase (optional, but more secure).</p>
<hr />
<h1 id="heading-step-2-start-the-ssh-agent-amp-add-your-key"><strong>Step 2 — Start the SSH Agent &amp; Add Your Key</strong></h1>
<pre><code class="lang-bash"><span class="hljs-built_in">eval</span> <span class="hljs-string">"<span class="hljs-subst">$(ssh-agent -s)</span>"</span>
ssh-add ~/.ssh/id_ed25519
</code></pre>
<p>This loads your key so Git can use it.</p>
<hr />
<h1 id="heading-step-3-copy-your-public-key"><strong>Step 3 — Copy Your Public Key</strong></h1>
<pre><code class="lang-bash">cat ~/.ssh/id_ed25519.pub
</code></pre>
<p>Copy the full line that starts with:</p>
<pre><code class="lang-plaintext">ssh-ed25519 ...
</code></pre>
<hr />
<h1 id="heading-step-4-add-the-key-to-your-github-account"><strong>Step 4 — Add the Key to Your GitHub Account</strong></h1>
<ol>
<li><p>Open GitHub</p>
</li>
<li><p>Go to <strong>Settings → SSH and GPG keys</strong></p>
</li>
<li><p>Click <strong>New SSH Key</strong></p>
</li>
<li><p>Paste your key</p>
</li>
<li><p>Save</p>
</li>
<li><p>Done 🎉</p>
</li>
</ol>
<p>Your server is now trusted by GitHub.</p>
<hr />
<h1 id="heading-step-5-configure-your-git-repository-to-use-ssh"><strong>Step 5 — Configure Your Git Repository to Use SSH</strong></h1>
<p>If your repo is already cloned with HTTPS:</p>
<pre><code class="lang-bash"><span class="hljs-built_in">cd</span> /path/to/your/repo
git remote set-url origin git@github.com:USERNAME/REPO.git
</code></pre>
<p>If not cloned yet, clone it directly with SSH:</p>
<pre><code class="lang-bash">git <span class="hljs-built_in">clone</span> git@github.com:USERNAME/REPO.git
</code></pre>
<p>No passwords required.</p>
<hr />
<h1 id="heading-step-6-test-your-setup"><strong>Step 6 — Test Your Setup</strong></h1>
<p>Try:</p>
<pre><code class="lang-bash">git pull
git push
</code></pre>
<p>Git should authenticate silently—no prompts.</p>
<hr />
<h1 id="heading-fixing-the-sudo-git-problem-optional-but-important"><strong>Fixing the “sudo git” Problem (Optional but Important)</strong></h1>
<p>Many developers accidentally run Git with <code>sudo</code>, which causes permission issues.</p>
<p>If that happened, fix ownership:</p>
<pre><code class="lang-bash">sudo chown -R <span class="hljs-variable">$USER</span>:<span class="hljs-variable">$USER</span> /path/to/your/repo
</code></pre>
<p>Never use <code>sudo git</code> unless working inside a restricted directory.</p>
<hr />
<h1 id="heading-bonus-auto-load-ssh-keys-after-reboot"><strong>Bonus: Auto-Load SSH Keys After Reboot</strong></h1>
<p>Create or edit:</p>
<pre><code class="lang-plaintext">~/.ssh/config
</code></pre>
<p>Add:</p>
<pre><code class="lang-plaintext">Host *
    AddKeysToAgent yes
    IdentityFile ~/.ssh/id_ed25519
</code></pre>
<p>Now your key loads automatically every login—no manual <code>ssh-add</code>.</p>
<hr />
<h1 id="heading-youre-done-git-is-now-fully-automated"><strong>You’re Done — Git Is Now Fully Automated</strong></h1>
<p>With SSH authentication:</p>
<p>✔ No more usernames<br />✔ No more passwords<br />✔ No more PAT leaks<br />✔ No more permission problems<br />✔ Secure, permanent Git access on your Ubuntu server</p>
<p>Whether you’re deploying Node, Python, .NET, PHP, Docker, or anything else—this setup keeps your workflow fast, safe, and professional.</p>
]]></content:encoded></item><item><title><![CDATA[Why do people with less knowledge have more confidence?]]></title><description><![CDATA[People who are incompetent in a certain area often lack the self-awareness to recognize their own incompetence and mistakenly believe they are highly skilled or knowledgeable. This bias can lead to poor decision-making, overconfidence, and an inabili...]]></description><link>https://blog.arashfarahmandi.ir/why-do-people-with-less-knowledge-have-more-confidence</link><guid isPermaLink="true">https://blog.arashfarahmandi.ir/why-do-people-with-less-knowledge-have-more-confidence</guid><category><![CDATA[Soft Skills]]></category><dc:creator><![CDATA[Arash Farahmandi]]></dc:creator><pubDate>Tue, 02 Apr 2024 12:23:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1712053336385/402d621f-6dbe-4375-9886-428e91016f68.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>People who are incompetent in a certain area often lack the self-awareness to recognize their own incompetence and mistakenly believe they are highly skilled or knowledgeable. This bias can lead to poor decision-making, overconfidence, and an inability to accurately assess one's own abilities.</p>
<p>Conversely, individuals with higher competence in each area may underestimate their abilities due to assuming others have similar knowledge and skills. The phenomenon where individuals with limited knowledge or skill tend to exhibit greater confidence is known as the <strong>Dunning-Kruger effect</strong>.</p>
<p>The Dunning-Kruger effect refers to the tendency for individuals with low competence in a domain to overestimate their abilities.</p>
<p>The Dunning-Kruger effect is named after the two social psychologists who first described and researched the phenomenon, David Dunning and Justin Kruger. In 1999, Dunning and Kruger published a study titled "Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Led to Inflated Self-Assessments." Their research shed light on the cognitive bias of overestimating one's abilities in areas where they lack competence, while also highlighting the lack of metacognitive skills necessary to accurately assess one's own competence. Due to their significant contributions in identifying and explaining this cognitive bias, the phenomenon came to be known as the Dunning-Kruger effect.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1712051987718/ea22bef7-f7de-4e28-bb8d-40faaafa6ba0.png" alt class="image--center mx-auto" /></p>
<p>Let’s delve into why <strong>Dunning-Kruger effect</strong> occurs:</p>
<ol>
<li><p><strong>Lack of Metacognition</strong>: People with lower expertise often lack the ability to accurately assess their own competence. This deficiency in <strong>metacognition</strong> (the awareness of one’s own cognitive processes) leads them to <strong>overestimate</strong> their abilities.</p>
</li>
<li><p><strong>Illusion of Superiority</strong>: The Dunning-Kruger effect arises from an <strong>illusion of superiority</strong>. When individuals possess only a basic understanding of a topic, they may mistakenly believe they have mastered it. Their limited knowledge prevents them from recognizing the gaps in their understanding.</p>
</li>
<li><p><strong>Cognitive Biases</strong>:</p>
<ul>
<li><p><strong>Confirmation Bias</strong>: People seek information that confirms their existing beliefs. In the case of low competence, this bias reinforces their overconfidence.</p>
</li>
<li><p><strong>Anchoring Bias</strong>: Initial impressions heavily influence subsequent judgments. If someone starts with an inflated self-assessment, it becomes their mental anchor.</p>
</li>
</ul>
</li>
<li><p><strong>Incompetence Hinders Self-Reflection</strong>:</p>
<ul>
<li><p><strong>Mountains of Ignorance</strong>: As the saying goes, “In the land of the blind, the one-eyed man is king.” When individuals lack knowledge, they may not even realize the vastness of what they don’t know.</p>
</li>
<li><p><strong>Competence Requires Insight</strong>: True competence involves recognizing one’s limitations and seeking improvement. Incompetence often blinds people to their deficiencies.</p>
</li>
</ul>
</li>
<li><p><strong>Social Factors</strong>:</p>
<ul>
<li><p><strong>Social Reinforcement</strong>: Encouragement from others can reinforce overconfidence. If peers or family members praise someone’s limited abilities, they may become more self-assured.</p>
</li>
<li><p><strong>Fear of Appearing Ignorant</strong>: Admitting ignorance can be uncomfortable. To avoid embarrassment, people may project unwarranted confidence.</p>
</li>
</ul>
</li>
<li><p><strong>Learning Curve</strong>: As individuals gain more knowledge, they often experience a reversal in their self-assessment. The more they learn, the more they recognize their limitations, leading to modesty.</p>
</li>
</ol>
<p>Remember, the Dunning-Kruger effect highlights the importance of <strong>continuous learning</strong>, <strong>self-reflection</strong>, and <strong>open-mindedness</strong>.</p>
<p>Let’s explore some examples:</p>
<ol>
<li><p><strong>In a Professional Environment</strong>:</p>
<ul>
<li>Imagine a novice employee who recently joined a company. Despite limited experience, they confidently believe they understand complex processes better than their seasoned colleagues. <a target="_blank" href="https://studiousguy.com/dunning-kruger-effect-examples-in-real-life/">Their overestimation of competence may lead to poordecision-making and friction within the team</a>.</li>
</ul>
</li>
<li><p><strong>Personal Characteristics</strong>:</p>
<ul>
<li>Individuals with the Dunning-Kruger effect often exhibit unwarranted confidence in their abilities. <a target="_blank" href="https://studiousguy.com/dunning-kruger-effect-examples-in-real-life/">For instance, someone who believes they are an excellent driver despite frequent traffic violations or accidents</a>.</li>
</ul>
</li>
<li><p><strong>Rate Your Knowledge</strong>:</p>
<ul>
<li>Have you encountered people who confidently assert their expertise on a topic without understanding it? <a target="_blank" href="https://studiousguy.com/dunning-kruger-effect-examples-in-real-life/">This could be a manifestation of the Dunning-Kruger effect. They overestimate their knowledge and underestimate the complexity of the subject</a>.</li>
</ul>
</li>
<li><p><strong>Singing Talent Shows</strong>:</p>
<ul>
<li>Talent shows often feature contestants who believe they have exceptional singing abilities. <a target="_blank" href="https://studiousguy.com/dunning-kruger-effect-examples-in-real-life/">However, their actual performance falls short due to their lack of self-awareness about their vocal limitations</a>.</li>
</ul>
</li>
<li><p><strong>Politics</strong>:</p>
<ul>
<li>In political discussions, individuals may confidently express strong opinions without fully grasping the nuances of policies or historical context. <a target="_blank" href="https://studiousguy.com/dunning-kruger-effect-examples-in-real-life/">Their overconfidence can hinder constructive dialogue</a>.</li>
</ul>
</li>
<li><p><strong>Jimmy Kimmel Interviews</strong>:</p>
<ul>
<li>Jimmy Kimmel’s “Lie Witness News” segments highlight people confidently discussing fictional events or made-up facts. <a target="_blank" href="https://www.developgoodhabits.com/dunning-kruger/">These participants unknowingly demonstrate the Dunning-Kruger effect by confidently asserting false information</a>.</li>
</ul>
</li>
<li><p><strong>Finances</strong>:</p>
<ul>
<li>Novice investors who believe they have mastered the stock market may take excessive risks. <a target="_blank" href="https://studiousguy.com/dunning-kruger-effect-examples-in-real-life/">Their inflated confidence can lead to financial losses due to inadequate understanding of market dynamics</a>.</li>
</ul>
</li>
</ol>
]]></content:encoded></item></channel></rss>