{"id":13330,"date":"2025-12-20T11:02:39","date_gmt":"2025-12-20T05:32:39","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=13330"},"modified":"2025-12-20T11:02:42","modified_gmt":"2025-12-20T05:32:42","slug":"how-to-setup-ssh-on-linux-server","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/how-to-setup-ssh-on-linux-server","title":{"rendered":"How to Setup SSH on Linux Server &#8211; Complete Guide"},"content":{"rendered":"\n<p><strong>To set up SSH on a Linux server<\/strong>, install the OpenSSH server package, start and enable the sshd service, allow the SSH port in your firewall or security group, configure secure settings in \/etc\/ssh\/sshd_config, set up SSH key authentication, and test a new session before disabling passwords or root login.<\/p>\n\n\n\n<p>Secure Shell (SSH) is the standard for remotely managing servers. In this guide, you\u2019ll learn how to setup SSH on Linux server properly, from installation to hardening, using clear steps and best practices we use daily on production systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites-and-quick-overview\"><strong>Prerequisites and Quick Overview<\/strong><\/h2>\n\n\n\n<p>Before you begin, make sure you have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Root or sudo access to the Linux server.<\/li>\n\n\n\n<li>Console access via your hosting panel in case SSH is misconfigured.<\/li>\n\n\n\n<li>Ability to open ports in the server firewall and cloud security groups (AWS, GCP, Azure, or your VPS panel).<\/li>\n\n\n\n<li>Package manager access (apt, dnf\/yum, zypper).<\/li>\n<\/ul>\n\n\n\n<p>High-level steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install OpenSSH server.<\/li>\n\n\n\n<li>Start and enable sshd.<\/li>\n\n\n\n<li>Allow SSH in firewall\/security groups.<\/li>\n\n\n\n<li>Configure sshd_config securely.<\/li>\n\n\n\n<li>Generate and deploy <a href=\"https:\/\/www.youstable.com\/blog\/how-to-add-ssh-keys-to-github-account\/\">SSH keys<\/a>.<\/li>\n\n\n\n<li>Disable <a href=\"https:\/\/www.youstable.com\/blog\/ssh-keys-vs-password-authentication\/\">password and root login after you confirm key access<\/a> works.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-by-step-install-and-enable-openssh-server\"><strong>Step-by-Step: Install and Enable OpenSSH Server<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-openssh-by-linux-distribution\"><strong>Install OpenSSH by Linux distribution<\/strong><\/h3>\n\n\n\n<p>OpenSSH is the most widely used SSH implementation. Install it using your distro\u2019s package manager.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian\/Ubuntu\nsudo apt update\nsudo apt install -y openssh-server\n\n# RHEL 8+\/CentOS Stream\/AlmaLinux\/Rocky\nsudo dnf install -y openssh-server\n\n# Older CentOS\/RHEL\nsudo <a href=\"https:\/\/www.youstable.com\/blog\/install-yum-on-linux\/\">yum install<\/a> -y openssh-server\n\n# Fedora\nsudo dnf install -y openssh-server\n\n# openSUSE\/SLES\nsudo zypper install -y openssh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"start-enable-and-verify-the-ssh-service\"><strong>Start, enable, and verify the SSH service<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable sshd\nsudo systemctl start sshd\nsudo systemctl status sshd\n# Verify it listens (default port 22)\nsudo ss -tnlp | grep sshd<\/code><\/pre>\n\n\n\n<p>On Debian\/Ubuntu, the service may be named \u201cssh\u201d but systemd aliases it to sshd. The above commands work across modern distros.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"open-ssh-in-the-firewall-and-cloud-security-groups\"><strong>Open SSH in the firewall (and cloud security groups)<\/strong><\/h3>\n\n\n\n<p>If you use UFW (Ubuntu\/Debian):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 22\/tcp\nsudo ufw reload\nsudo ufw status<\/code><\/pre>\n\n\n\n<p>If you use firewalld (RHEL\/CentOS\/Fedora):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo firewall-cmd --permanent --add-service=ssh\n# Or if you plan to change the port: --add-port=2222\/tcp\nsudo firewall-cmd --reload\nsudo firewall-cmd --list-all<\/code><\/pre>\n\n\n\n<p>Also allow the SSH port in your cloud provider\u2019s security group or your VPS panel. If a security group blocks SSH, the server-side firewall changes won\u2019t help.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"configure-ssh-securely-sshd_config\"><strong>Configure SSH Securely (sshd_config)<\/strong><\/h2>\n\n\n\n<p>The main configuration file is \/etc\/ssh\/sshd_config. Always back it up first, edit carefully, and validate before reloading.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo cp \/etc\/ssh\/sshd_config \/etc\/ssh\/sshd_config.bak\nsudo nano \/etc\/ssh\/sshd_config   # or use vim<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"recommended-baseline-settings\"><strong>Recommended baseline settings<\/strong><\/h3>\n\n\n\n<p>Use these as a starting point. Do not disable passwords until keys are set up and tested.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Change the default port if desired (also open it in your firewall\/SG)\nPort 22\n\nProtocol 2\nPermitRootLogin no\nPasswordAuthentication yes    # switch to 'no' after key auth works\nPubkeyAuthentication yes\nChallengeResponseAuthentication no\nUsePAM yes\n\n# Limit authentication attempts and session behavior\nMaxAuthTries 3\nLoginGraceTime 30\nClientAliveInterval 300\nClientAliveCountMax 2\n\n# Restrict who can log in (replace with your usernames)\n#AllowUsers adminuser devops\n\n# Reduce surface area\nX11Forwarding no\nPermitEmptyPasswords no\n\n# Log more detail for troubleshooting\nLogLevel VERBOSE<\/code><\/pre>\n\n\n\n<p>Save, then validate and reload:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo sshd -t   # syntax check (no output means OK)\nsudo systemctl reload sshd<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"test-safely-before-closing-your-current-session\"><strong>Test safely before closing your current session<\/strong><\/h3>\n\n\n\n<p>Open a new terminal and test SSH before you end your existing session, especially after changes like port updates or disabling passwords.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># If changed port, use -p\nssh -p 22 user@server-ip\n\n# For first-time connections, verify the host key fingerprint.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"set-up-ssh-key-authentication-recommended\"><strong>Set Up SSH Key Authentication (Recommended)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"create-a-strong-ssh-key-pair\"><strong>Create a strong SSH key pair<\/strong><\/h3>\n\n\n\n<p>Use ED25519 unless you need RSA for legacy systems.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># On your local machine (macOS\/Linux\/WSL)\nssh-keygen -t ed25519 -C \"your_email@example.com\"\n# Accept defaults and add a passphrase for better security<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"deploy-your-public-key\"><strong>Deploy your public key<\/strong><\/h3>\n\n\n\n<p>Easiest method with ssh-copy-id:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-copy-id -i ~\/.ssh\/id_ed25519.pub user@server-ip<\/code><\/pre>\n\n\n\n<p>If ssh-copy-id isn\u2019t available, copy manually:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat ~\/.ssh\/id_ed25519.pub | ssh user@server-ip \"mkdir -p ~\/.ssh &amp;&amp; chmod 700 ~\/.ssh &amp;&amp; cat &gt;&gt; ~\/.ssh\/authorized_keys &amp;&amp; chmod 600 ~\/.ssh\/authorized_keys\"<\/code><\/pre>\n\n\n\n<p>Test login using the key:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh user@server-ip<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"disable-password-auth-after-key-login-works\"><strong>Disable password auth after key login works<\/strong><\/h3>\n\n\n\n<p>Once keys work, tighten authentication to prevent brute-force attacks.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Edit config\nsudo nano \/etc\/ssh\/sshd_config\n# Set:\nPasswordAuthentication no\n\n# Validate and reload\nsudo sshd -t &amp;&amp; sudo systemctl reload sshd<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"create-a-non-root-admin-and-use-sudo\"><strong>Create a Non-Root Admin and Use sudo<\/strong><\/h2>\n\n\n\n<p>Disable root SSH login and operate through a non-root user with sudo privileges.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian\/Ubuntu\nsudo adduser adminuser\nsudo usermod -aG sudo adminuser\n\n# RHEL\/CentOS\/Fedora\nsudo useradd -m adminuser\nsudo passwd adminuser\nsudo usermod -aG wheel adminuser<\/code><\/pre>\n\n\n\n<p>Confirm you can SSH as the new user and run sudo before you disable root login.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ssh-hardening-best-practices\"><strong>SSH Hardening Best Practices<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Change the SSH port from 22 to a high, unused port and update firewall\/security groups accordingly.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youstable.com\/blog\/install-fail2ban-on-linux\/\">Install Fail2ban<\/a> to block repeated failed login attempts.<\/li>\n\n\n\n<li>Restrict access by IP using firewall rules or sshd_config Match blocks.<\/li>\n\n\n\n<li>Keep the OS and OpenSSH packages updated.<\/li>\n\n\n\n<li>Disable root login (PermitRootLogin no) and passwords (after key setup).<\/li>\n\n\n\n<li>Disable unused features (X11Forwarding no, PermitEmptyPasswords no).<\/li>\n\n\n\n<li>Use a bastion host (ProxyJump) instead of exposing many servers to the internet.<\/li>\n\n\n\n<li>Consider 2FA (e.g., Google Authenticator or Duo) for critical systems.<\/li>\n<\/ul>\n\n\n\n<p>Basic Fail2ban setup:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Install\n# Debian\/Ubuntu\nsudo apt install -y fail2ban\n# RHEL\/CentOS\/Fedora\nsudo dnf install -y fail2ban\n\n# Minimal jail\nsudo tee \/etc\/fail2ban\/jail.d\/sshd.local &gt;\/dev\/null &lt;&lt;'EOF'\n&#91;sshd]\nenabled = true\nmaxretry = 3\nbantime = 1h\nfindtime = 10m\nEOF\n\nsudo systemctl enable --now fail2ban\nsudo fail2ban-client status sshd<\/code><\/pre>\n\n\n\n<p>If SELinux is enforcing, ensure your .ssh directory labels are correct after manual changes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo restorecon -R -v \/home\/youruser\/.ssh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-common-ssh-issues\"><strong>Troubleshooting Common SSH Issues<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"connection-refused-or-timed-out\"><strong>Connection refused or timed out<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Is sshd running? Check systemctl status.<\/li>\n\n\n\n<li>Is the firewall open on the correct port?<\/li>\n\n\n\n<li>Did you allow the port in your cloud security group?<\/li>\n\n\n\n<li>Is the server listening on the right interface? Check \u201css -tnlp | grep sshd\u201d.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"permission-denied-publickey\"><strong>Permission denied (publickey)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verify the correct key is offered: ssh -v user@server-ip.<\/li>\n\n\n\n<li>Fix permissions: .ssh (700), authorized_keys (600), home dir not group-writable.<\/li>\n\n\n\n<li>Ensure your public key matches the server\u2019s authorized_keys entry.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 700 ~\/.ssh\nchmod 600 ~\/.ssh\/authorized_keys<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"check-logs-and-validate-config\"><strong>Check logs and validate config<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo journalctl -u sshd -e\nsudo sshd -t<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"recovering-from-a-bad-config\"><strong>Recovering from a bad config<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use your <a href=\"https:\/\/www.youstable.com\/blog\/best-web-hosting-provider-in-india\/\">hosting provider\u2019s<\/a> console\/VNC to revert to the backup sshd_config.<\/li>\n\n\n\n<li>Keep one SSH session open while testing changes in a new session.<\/li>\n\n\n\n<li>Temporarily run two ports by adding a second Port line; remove it after confirming the new port works.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"real-world-quick-start-ubuntu-22-04-example\"><strong>Real-World Quick Start (Ubuntu 22.04 Example)<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># 1) Install and start\nsudo apt update &amp;&amp; sudo apt install -y openssh-server\nsudo systemctl enable --now sshd\n\n# 2) Allow firewall\nsudo ufw allow 22\/tcp &amp;&amp; sudo ufw reload\n\n# 3) Create admin user and set SSH keys\nsudo adduser adminuser\nsudo usermod -aG sudo adminuser\n# On your local machine:\nssh-keygen -t ed25519\nssh-copy-id adminuser@server-ip\n\n# 4) Harden sshd\nsudo cp \/etc\/ssh\/sshd_config \/etc\/ssh\/sshd_config.bak\nsudo nano \/etc\/ssh\/sshd_config\n# Set: PermitRootLogin no, PubkeyAuthentication yes, PasswordAuthentication no (after testing)\nsudo sshd -t &amp;&amp; sudo systemctl reload sshd\n\n# 5) Optional: change port and update firewall\n# Edit sshd_config: Port 2222\nsudo ufw allow 2222\/tcp &amp;&amp; sudo ufw delete allow 22\/tcp &amp;&amp; sudo ufw reload\n# Test: ssh -p 2222 adminuser@server-ip<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"why-your-hosting-choice-matters\"><strong>Why Your Hosting Choice Matters<\/strong><\/h2>\n\n\n\n<p>Secure SSH isn\u2019t just about commands\u2014it\u2019s about recovery options and reliability. With YouStable VPS, SSH is preinstalled, firewall templates are available, and you get an integrated browser console to fix configs if you lock yourself out. Snapshots and 24\/7 support help you test changes safely without risking downtime.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"best-practices-checklist\"><strong>Best Practices Checklist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install OpenSSH and enable sshd.<\/li>\n\n\n\n<li>Open SSH port in both OS firewall and cloud security groups.<\/li>\n\n\n\n<li>Set up ED25519 keys; test login.<\/li>\n\n\n\n<li>Disable root login and then password login.<\/li>\n\n\n\n<li>Limit auth attempts and idle sessions.<\/li>\n\n\n\n<li>Enable Fail2ban and apply updates regularly.<\/li>\n\n\n\n<li>Restrict users\/IPs; consider changing the default port.<\/li>\n\n\n\n<li>Document your configuration and keep a secure backup.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1765794491817\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"what-port-should-i-use-for-ssh\"><strong>What port should I use for SSH?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Port 22 is standard and universally supported. Changing to a high, random port reduces noise from automated scans but isn\u2019t a substitute for key authentication and hardening. If you change it, update firewalls and security groups, and document the new port.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765794497403\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-change-the-ssh-port-safely\"><strong>How do I change the SSH port safely?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Add a new Port line in \/etc\/ssh\/sshd_config, allow that port in your firewall and provider security group, validate with \u201csshd -t,\u201d reload sshd, and test a new session with \u201cssh -p newport user@server.\u201d Only remove port 22 after confirming access works on the new port.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765794507602\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-can-i-disable-root-login-but-still-get-admin-access\"><strong>How can I disable root login but still get admin access?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Create a non-root user, add it to the sudo or wheel group, and confirm you can run sudo. Then set \u201cPermitRootLogin no\u201d in sshd_config and reload. You\u2019ll SSH as the non-root user and elevate with sudo when needed.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765794515617\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-allow-ssh-for-specific-users-only\"><strong>How do I allow SSH for specific users only?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use \u201cAllowUsers user1 user2\u201d or \u201cAllowGroups sshusers\u201d in \/etc\/ssh\/sshd_config, then reload sshd. Combine this with firewall rules to restrict by IP for an additional layer of control.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765794523483\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-protect-ssh-from-brute-force-attacks\"><strong>How do I protect SSH from brute-force attacks?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use key-based authentication, disable passwords, change the default port, install Fail2ban, limit MaxAuthTries, and restrict access by IP where possible. Keep your system patched and monitor logs with journalctl or a SIEM for suspicious activity.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To set up SSH on a Linux server, install the OpenSSH server package, start and enable the sshd service, allow [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":15511,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"iawp_total_views":2,"footnotes":""},"categories":[350],"tags":[],"class_list":["post-13330","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase"],"acf":[],"featured_image_src":"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/How-to-Setup-SSH-on-Linux-Server.jpg","author_info":{"display_name":"Prahlad Prajapati","author_link":"https:\/\/www.youstable.com\/blog\/author\/prahladblog"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=13330"}],"version-history":[{"count":4,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13330\/revisions"}],"predecessor-version":[{"id":15512,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13330\/revisions\/15512"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/15511"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=13330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=13330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=13330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}