{"id":1141,"date":"2025-10-28T20:30:23","date_gmt":"2025-10-28T11:30:23","guid":{"rendered":"http:\/\/scrutineer.co.kr\/wordpress\/index.php\/2025\/10\/28\/ssh-%ec%9b%90%ea%b2%a9-%ec%84%b8%ec%85%98-%ed%83%80%ec%9e%84%ec%95%84%ec%9b%83-%ed%95%b4%ea%b2%b0%ed%95%98%ea%b8%b0\/"},"modified":"2025-10-28T20:35:22","modified_gmt":"2025-10-28T11:35:22","slug":"ssh-%ec%9b%90%ea%b2%a9-%ec%84%b8%ec%85%98-%ed%83%80%ec%9e%84%ec%95%84%ec%9b%83-%ed%95%b4%ea%b2%b0%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/2025\/10\/28\/ssh-%ec%9b%90%ea%b2%a9-%ec%84%b8%ec%85%98-%ed%83%80%ec%9e%84%ec%95%84%ec%9b%83-%ed%95%b4%ea%b2%b0%ed%95%98%ea%b8%b0\/","title":{"rendered":"SSH \uc6d0\uaca9 \uc138\uc158 \ud0c0\uc784\uc544\uc6c3 \ud574\uacb0\ud558\uae30"},"content":{"rendered":"<h2>\ubb38\uc81c \uc0c1\ud669<\/h2>\n<p>\uc6d0\uaca9 SSH\ub85c \uc811\uc18d\ud574\uc11c htop\uc774\ub098 \ub2e4\ub978 \ud504\ub85c\uadf8\ub7a8\uc744 \uc2e4\ud589\ud574 \ub193\uc73c\uba74, \uc2dc\uac04\uc774 \uc9c0\ub098\uba74\uc11c \uc138\uc158\uc774 \uba48\ucd94\ub294 \ud604\uc0c1\uc774 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uc6d0\uc778 \ubd84\uc11d<\/h2>\n<p>SSH \uc5f0\uacb0\uc774 \ub04a\uae30\ub294 \uc8fc\uc694 \uc6d0\uc778:<\/p>\n<ul>\n<li>\uc11c\ubc84\/\ud074\ub77c\uc774\uc5b8\ud2b8\uc758 \ud0c0\uc784\uc544\uc6c3 \uc124\uc815<\/li>\n<li>\uc911\uac04 \ub124\ud2b8\uc6cc\ud06c \uc7a5\ube44(\ub77c\uc6b0\ud130, \ubc29\ud654\ubcbd)\uc5d0\uc11c \uc5f0\uacb0 \ub04a\uae40<\/li>\n<li>TCP keepalive \ubbf8\uc124\uc815<\/li>\n<\/ul>\n<h2>\ud574\uacb0 \ubc29\ubc95<\/h2>\n<h3>1. \uc11c\ubc84\uce21 \uc124\uc815 (Linux SSH \uc11c\ubc84)<\/h3>\n<p><code>\/etc\/ssh\/sshd_config<\/code> \ud30c\uc77c\uc744 \uc218\uc815\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"wp-block-code\"><code># TCP \ub808\ubca8 \uc5f0\uacb0 \uc720\uc9c0 \ud65c\uc131\ud654\nTCPKeepAlive yes\n\n# 30\ucd08\ub9c8\ub2e4 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uac8c \uc5f0\uacb0 \ud655\uc778 \uc2e0\ud638 \uc804\uc1a1\nClientAliveInterval 30\n\n# \ucd5c\ub300 10\ud68c\uae4c\uc9c0 \ubb34\uc751\ub2f5 \ud5c8\uc6a9 (30\ucd08 \u00d7 10 = 5\ubd84)\nClientAliveCountMax 10<\/code><\/pre>\n<p>\uc124\uc815 \ud6c4 SSH \uc11c\ube44\uc2a4 \uc7ac\uc2dc\uc791:<\/p>\n<pre><code>sudo systemctl restart ssh<\/code><\/pre>\n<h3>2. \ud074\ub77c\uc774\uc5b8\ud2b8\uce21 \uc124\uc815 (\uc811\uc18d\ud558\ub294 PC\/Mac)<\/h3>\n<p><code>~\/.ssh\/config<\/code> \ud30c\uc77c\uc744 \uc0dd\uc131\ud558\uac70\ub098 \uc218\uc815\ud569\ub2c8\ub2e4:<\/p>\n<pre><code>Host \uc11c\ubc84\ubcc4\uce6d\n    HostName \uc11c\ubc84\uc8fc\uc18c\n    Port \ud3ec\ud2b8\ubc88\ud638\n    User \uc0ac\uc6a9\uc790\uba85\n    ServerAliveInterval 30\n    ServerAliveCountMax 10\n    TCPKeepAlive yes<\/code><\/pre>\n<h3>3. \uc124\uc815 \ud6a8\uacfc<\/h3>\n<p><strong>\ubcc0\uacbd \uc804:<\/strong><\/p>\n<ul>\n<li>60\ucd08 \u00d7 3\ud68c = \ucd5c\ub300 3\ubd84 \ubb34\uc751\ub2f5 \ud5c8\uc6a9<\/li>\n<\/ul>\n<p><strong>\ubcc0\uacbd \ud6c4:<\/strong><\/p>\n<ul>\n<li>30\ucd08 \u00d7 10\ud68c = <strong>\ucd5c\ub300 5\ubd84 \ubb34\uc751\ub2f5 \ud5c8\uc6a9<\/strong><\/li>\n<li>\uc11c\ubc84\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc591\ucabd\uc5d0\uc11c \uc5f0\uacb0 \uc0c1\ud0dc \ud655\uc778<\/li>\n<li>TCP keepalive\ub85c \uc911\uac04 \ub124\ud2b8\uc6cc\ud06c \uc7a5\ube44\uc758 \uc5f0\uacb0 \ub04a\uae40 \ubc29\uc9c0<\/li>\n<\/ul>\n<h2>\ucd94\uac00 \ud301<\/h2>\n<h3>tmux\/screen \uc0ac\uc6a9<\/h3>\n<p>\uc138\uc158\uc774 \ub04a\uaca8\ub3c4 \ud504\ub85c\uc138\uc2a4\uac00 \uacc4\uc18d \uc2e4\ud589\ub418\ub3c4\ub85d \ud558\ub824\uba74:<\/p>\n<pre><code># tmux \uc124\uce58 (Ubuntu\/Debian)\nsudo apt install tmux\n\n# tmux \uc138\uc158 \uc2dc\uc791\ntmux\n\n# \uc138\uc158 \ubd84\ub9ac: Ctrl+b, d\n# \uc138\uc158 \uc7ac\uc811\uc18d: tmux attach<\/code><\/pre>\n<h3>SSH config\ub85c \uac04\ud3b8 \uc811\uc18d<\/h3>\n<p>\uc124\uc815 \ud30c\uc77c \uc791\uc131 \ud6c4:<\/p>\n<pre><code># \uc774\uc804\nssh -p 15001 user@example.com\n\n# \uc774\ud6c4 (\ub354 \uac04\ud3b8!)\nssh \uc11c\ubc84\ubcc4\uce6d<\/code><\/pre>\n<h2>\ucc38\uace0\uc0ac\ud56d<\/h2>\n<ul>\n<li>\uc124\uc815\uc740 \uc11c\ubc84\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8 <strong>\uc591\ucabd \ubaa8\ub450<\/strong> \uc801\uc6a9\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \uc548\uc815\uc801\uc785\ub2c8\ub2e4<\/li>\n<li>\ud68c\uc0ac \ubc29\ud654\ubcbd\uc774\ub098 \uacf5\uc720\uae30\uc5d0\uc11c \ucd94\uac00\uc801\uc778 \ud0c0\uc784\uc544\uc6c3 \uc124\uc815\uc774 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4<\/li>\n<li>VPN\uc744 \uc0ac\uc6a9\ud558\uba74 \ub354\uc6b1 \uc548\uc815\uc801\uc778 \uc5f0\uacb0\uc744 \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ubb38\uc81c \uc0c1\ud669 \uc6d0\uaca9 SSH\ub85c \uc811\uc18d\ud574\uc11c htop\uc774\ub098 \ub2e4\ub978 \ud504\ub85c\uadf8\ub7a8\uc744 \uc2e4\ud589\ud574 \ub193\uc73c\uba74, \uc2dc\uac04\uc774 \uc9c0\ub098\uba74\uc11c \uc138\uc158\uc774 \uba48\ucd94\ub294 \ud604\uc0c1\uc774 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \uc6d0\uc778 \ubd84\uc11d SSH \uc5f0\uacb0\uc774 \ub04a\uae30\ub294 \uc8fc\uc694 \uc6d0\uc778: \uc11c\ubc84\/\ud074\ub77c\uc774\uc5b8\ud2b8\uc758 \ud0c0\uc784\uc544\uc6c3 \uc124\uc815 \uc911\uac04 \ub124\ud2b8\uc6cc\ud06c \uc7a5\ube44(\ub77c\uc6b0\ud130, \ubc29\ud654\ubcbd)\uc5d0\uc11c \uc5f0\uacb0 \ub04a\uae40 TCP keepalive \ubbf8\uc124\uc815 \ud574\uacb0 \ubc29\ubc95 1. \uc11c\ubc84\uce21 \uc124\uc815 (Linux SSH \uc11c\ubc84) \/etc\/ssh\/sshd_config \ud30c\uc77c\uc744 \uc218\uc815\ud569\ub2c8\ub2e4: # TCP \ub808\ubca8 \uc5f0\uacb0 \uc720\uc9c0 \ud65c\uc131\ud654 TCPKeepAlive yes # &#8230; <a title=\"SSH \uc6d0\uaca9 \uc138\uc158 \ud0c0\uc784\uc544\uc6c3 \ud574\uacb0\ud558\uae30\" class=\"read-more\" href=\"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/2025\/10\/28\/ssh-%ec%9b%90%ea%b2%a9-%ec%84%b8%ec%85%98-%ed%83%80%ec%9e%84%ec%95%84%ec%9b%83-%ed%95%b4%ea%b2%b0%ed%95%98%ea%b8%b0\/\" aria-label=\"Read more about SSH \uc6d0\uaca9 \uc138\uc158 \ud0c0\uc784\uc544\uc6c3 \ud574\uacb0\ud558\uae30\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1141","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=1141"}],"version-history":[{"count":1,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1141\/revisions"}],"predecessor-version":[{"id":1142,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1141\/revisions\/1142"}],"wp:attachment":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=1141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=1141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=1141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}