{"id":190,"date":"2026-05-13T10:07:51","date_gmt":"2026-05-13T02:07:51","guid":{"rendered":"https:\/\/junai.ai\/blog\/linux-ssh-keys-18\/"},"modified":"2026-05-13T10:07:51","modified_gmt":"2026-05-13T02:07:51","slug":"linux-ssh-keys-18","status":"publish","type":"post","link":"https:\/\/junai.ai\/blog\/linux-ssh-keys-18\/","title":{"rendered":"SSH \ud0a4 \uc124\uc815 \uc6b0\ubd84\ud22c \u2014 \ube44\ubc88 \uc5c6\uc774 \uc548\uc804\ud558\uac8c (18\ud3b8)"},"content":{"rendered":"\n<!-- WordPress REST API \ubc1c\ud589\uc6a9 HTML (\uc790\ub3d9 \uc0dd\uc131) -->\n<!-- WP-FEATURED-MEDIA-ID: 177 -->\n<div style=\"max-width:800px;margin:0 auto;\">\n<style>\n:root{\n  --color-primary:#1e40af;--color-accent:#3b82f6;--color-bg:#fafafa;--color-bg-card:#ffffff;\n  --color-text:#1e293b;--color-text-muted:#64748b;--hero-start:#0f172a;--hero-end:#1e40af;\n  --font-body:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;\n  --size-body:17px;--line-height:1.75;--h1-size:30px;--h2-size:26px;--h3-size:20px;\n}\n*{margin:0;padding:0;box-sizing:border-box;}\n.wrap{max-width:760px;margin:0 auto;padding:0 20px;}\n.hero{background:linear-gradient(135deg,var(--hero-start) 0%,var(--hero-end) 100%);color:#fff;padding:64px 0 56px;text-align:center;}\n.hero .eyebrow{display:inline-block;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#93c5fd;font-weight:700;margin-bottom:16px;}\n.hero h1{font-size:var(--h1-size);line-height:1.32;letter-spacing:-0.3px;font-weight:800;margin-bottom:18px;}\n.hero p.sub{font-size:18px;color:#cbd5e1;max-width:620px;margin:0 auto;}\n.hero .meta{margin-top:22px;font-size:14px;color:#94a3b8;}\n.hero-img{display:block;width:100%;height:auto;}\narticle{padding:48px 0 24px;}\narticle h2{font-size:var(--h2-size);line-height:1.35;letter-spacing:-0.3px;font-weight:800;margin:48px 0 18px;padding-left:14px;border-left:5px solid var(--color-primary);}\narticle h2:first-of-type{margin-top:8px;}\narticle h3{font-size:var(--h3-size);font-weight:700;margin:28px 0 10px;color:#0f172a;}\narticle p{margin:0 0 18px;}\narticle ul,article ol{margin:0 0 18px 4px;padding-left:22px;}\narticle li{margin-bottom:9px;}\narticle strong{color:#0f172a;font-weight:700;}\narticle a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;}\narticle code{background:#0f172a;color:#e2e8f0;padding:2px 7px;border-radius:5px;font-size:0.9em;font-family:'SF Mono',Menlo,Consolas,monospace;}\n.intro p:first-child{font-size:19px;color:#334155;}\n.notice{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:14px 18px;margin:0 0 30px;font-size:15px;color:#3730a3;}\n.notice b{color:#312e81;}\n.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;}\ntable{width:100%;border-collapse:collapse;font-size:15px;background:var(--color-bg-card);}\nth,td{padding:11px 12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top;}\nth{background:#f1f5f9;font-weight:700;color:#0f172a;}\ntd:first-child,th:first-child{font-weight:700;}\n@media (max-width:560px){\n  .tablewrap table,.tablewrap thead,.tablewrap tbody,.tablewrap tr,.tablewrap th,.tablewrap td{display:block;width:auto;}\n  .tablewrap thead{display:none;}\n  .tablewrap tr{margin:0 0 14px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}\n  .tablewrap td{border:none;border-bottom:1px solid #f1f5f9;padding:9px 14px;}\n  .tablewrap td:first-child{background:#f1f5f9;font-weight:800;font-size:15.5px;}\n  .tablewrap td:last-child{border-bottom:none;}\n  .tablewrap td[data-label]::before{content:attr(data-label) \" \u2014 \";font-weight:700;color:var(--color-primary);}\n}\n.databox{background:#eff6ff;border-left:4px solid var(--color-accent);border-radius:0 8px 8px 0;padding:16px 18px;margin:20px 0;font-size:15.5px;}\n.databox b{color:var(--color-primary);}\n.warnbox{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border:1px solid #fecaca;border-radius:10px;padding:16px 18px;margin:22px 0;font-size:15.5px;color:#7f1d1d;}\n.warnbox b{color:#991b1b;}\n.cmd{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px 16px;margin:14px 0;font-family:'SF Mono',Menlo,Consolas,monospace;font-size:14px;line-height:1.8;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;}\n.cmd .c{color:#7dd3fc;}\n.cmd .o{color:#94a3b8;}\n.roadmap{background:var(--color-bg-card);border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin:24px 0;font-size:15px;}\n.roadmap h3{margin:0 0 10px;font-size:17px;color:#0f172a;}\n.roadmap ol{margin:0 0 0 4px;padding-left:20px;}\n.roadmap li{margin-bottom:5px;color:#475569;}\n.cta{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:26px 24px;margin:40px 0 8px;text-align:center;}\n.cta h3{color:#fff;margin:0 0 8px;font-size:19px;}\n.cta p{margin:0 0 4px;font-size:15px;color:#cbd5e1;}\nfooter{padding:30px 0 50px;text-align:center;color:var(--color-text-muted);font-size:13.5px;}\n@media (max-width:480px){:root{--h1-size:22px;--h2-size:20px;--size-body:16px;}.hero{padding:48px 0 40px;}article{padding:34px 0 16px;}.cmd{font-size:12.5px;}}\n<\/style>\n<header class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"eyebrow\">\uc6b0\ubd84\ud22c \u00b7 \ub9ac\ub205\uc2a4 \uc785\ubb38 \u2014 18\ud3b8 (\uc911\uae09)<\/span>\n    <h1>SSH \ud0a4 \uc124\uc815 \uc6b0\ubd84\ud22c \u2014 \ube44\ubc88 \uc5c6\uc774 \uc548\uc804\ud558\uac8c<\/h1>\n    <p class=\"sub\">\uc6d0\uaca9 \uc11c\ubc84\uc5d0 \uc811\uc18d\ud560 \ub54c\ub9c8\ub2e4 \ube44\ubc00\ubc88\ud638 \uce58\uae30 \u2014 \ubc88\uac70\ub86d\uace0, \uc0ac\uc2e4 \uc548\uc804\ud558\uc9c0\ub3c4 \uc54a\uc2b5\ub2c8\ub2e4. \ud0a4\uc30d \ud55c \ubc88 \ub9cc\ub4e4\uba74 \ube44\ubc88 \uc5c6\uc774, \uadf8\ub9ac\uace0 \ub354 \uc548\uc804\ud558\uac8c.<\/p>\n    <p class=\"meta\">2026\ub144 5\uc6d4 13\uc77c \u00b7 \uc57d 8\ubd84 \u00b7 26\ud3b8 \uc785\ubb38 \uc2dc\ub9ac\uc988 18\ud3b8<\/p>\n  <\/div>\n<\/header>\n\n<img decoding=\"async\" class=\"hero-img\" src=\"https:\/\/junai.ai\/blog\/wp-content\/uploads\/2026\/05\/hero-21.jpg\" alt=\"\ud130\ubbf8\ub110\uc5d0 ssh-keygen\u00b7ssh-copy-id \uba85\ub839\uc73c\ub85c SSH \ud0a4\ub97c \uc124\uc815\ud558\ub294 \ud654\uba74 \u2014 SSH \ud0a4 \uc124\uc815\uc744 \uc0c1\uc9d5\ud558\ub294 \uc77c\ub7ec\uc2a4\ud2b8\">\n\n<div class=\"wrap\">\n<article>\n\n  <div class=\"intro\">\n    <p>17\ud3b8\uc5d0\uc11c ufw\ub85c &#8220;22\ubc88 \ud3ec\ud2b8(SSH)\ub97c \uc5f0\ub2e4&#8221;\uace0 \ud588\uc8e0. SSH\ub294 <strong>\ub2e4\ub978 \ucef4\ud4e8\ud130\uc5d0 \uc548\uc804\ud558\uac8c \uc6d0\uaca9 \uc811\uc18d<\/strong>\ud558\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4 \u2014 \ud074\ub77c\uc6b0\ub4dc \uc11c\ubc84, \uc9d1\uc758 \ub2e4\ub978 PC, \ub77c\uc988\ubca0\ub9ac\ud30c\uc774\u2026 \uba85\ub839\uc904\ub85c \ub4e4\uc5b4\uac00\ub294 \uac70\uc758 \ubaa8\ub4e0 \uac8c SSH\uc608\uc694. \uadf8\ub7f0\ub370 \uc811\uc18d\ud560 \ub54c\ub9c8\ub2e4 \ube44\ubc00\ubc88\ud638\ub97c \uce58\ub294 \uac74 (a) \uadc0\ucc2e\uace0 (b) \ubb34\ucc28\ubcc4 \ub300\uc785 \uacf5\uaca9\uc5d0 \uc57d\ud569\ub2c8\ub2e4(\uc778\ud130\ub137\uc5d0 \ub178\ucd9c\ub41c \uc11c\ubc84\ub294 1\ucd08\uc5d0\ub3c4 \uc218\uc2ed \ubc88 &#8220;\ube44\ubc88 \ub9de\ud788\uae30&#8221; \uc2dc\ub3c4\ub97c \ubc1b\uc544\uc694).<\/p>\n    <p>\ud574\ub2f5\uc774 <strong>SSH \ud0a4<\/strong>\uc785\ub2c8\ub2e4 \u2014 <strong>\ud0a4\uc30d<\/strong>(\uacf5\uac1c\ud0a4 + \uac1c\uc778\ud0a4)\uc744 \ud55c \ubc88 \ub9cc\ub4e4\uc5b4\ub450\uace0, \uacf5\uac1c\ud0a4\ub97c \uc11c\ubc84\uc5d0 \ub4f1\ub85d\ud574\ub450\uba74, \uadf8 \ub2e4\uc74c\ubd80\ud130\ub294 \ube44\ubc88 \uc5c6\uc774\u00b7\uc790\ub3d9\uc73c\ub85c\u00b7\ud6e8\uc52c \uc548\uc804\ud558\uac8c \ub4e4\uc5b4\uac11\ub2c8\ub2e4. \uc774\ubc88 \ud3b8\uc740 \uadf8 \ud0a4\ub97c \ub9cc\ub4e4\uace0(<code>ssh-keygen<\/code>), \uc11c\ubc84\uc5d0 \uc2ec\uace0(<code>ssh-copy-id<\/code>), \ud3b8\ud558\uac8c \uc4f0\ub294 \ubc95(<code>~\/.ssh\/config<\/code>)\uae4c\uc9c0. <strong>26\ud3b8 \uc785\ubb38 \uc2dc\ub9ac\uc988 18\ud3b8<\/strong>, &#8220;\uc911\uae09&#8221; \ubb36\uc74c. \u26a0\ufe0f \ud575\uc2ec \uaddc\uce59 \ud558\ub098\ub9cc \ubbf8\ub9ac \u2014 <strong>\uac1c\uc778\ud0a4(<code>id_ed25519<\/code>, \ud655\uc7a5\uc790 \uc5c6\ub294 \uac83)\ub294 \uc808\ub300, \uc5b4\ub514\uc5d0\ub3c4 \uacf5\uc720\ud558\uc9c0 \ub9c8\uc138\uc694.<\/strong> \uc11c\ubc84\uc5d0 \uc62c\ub9ac\ub294 \uac74 \ud56d\uc0c1 <code>.pub<\/code>(\uacf5\uac1c\ud0a4)\ubfd0\uc785\ub2c8\ub2e4.<\/p>\n  <\/div>\n\n  <div class=\"notice\">\n    <b>\uc900\ube44\ubb3c \u2014<\/b> \uc6b0\ubd84\ud22c + \ud130\ubbf8\ub110. \uc811\uc18d\ud560 &#8220;\uc6d0\uaca9 \uc11c\ubc84&#8221;\uac00 \uc788\uc73c\uba74 \uc88b\uc9c0\ub9cc(\ud074\ub77c\uc6b0\ub4dc \uc778\uc2a4\ud134\uc2a4\u00b7\ub2e4\ub978 PC\u00b7VM), \uc5c6\uc5b4\ub3c4 \ud0a4 \ub9cc\ub4e4\uae30\uc640 \uad8c\ud55c \uc124\uc815\uc740 \ub530\ub77c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. 9\ud3b8(\uad8c\ud55c\u00b7<code>chmod<\/code>)\u00b717\ud3b8(ufw\u00b722\ubc88 \ud3ec\ud2b8)\uc744 \ubd24\ub2e4\uba74 \uc774\uc5b4\uc9d1\ub2c8\ub2e4.\n  <\/div>\n\n  <h2>\uc65c \ud0a4\uac00 \ube44\ubc88\ubcf4\ub2e4 \ub098\uc740\uac00<\/h2>\n  <p>\ube44\ubc00\ubc88\ud638 \uc778\uc99d\uacfc \ud0a4 \uc778\uc99d\uc758 \ucc28\uc774:<\/p>\n  <div class=\"tablewrap\">\n  <table>\n    <thead><tr><th><\/th><th>\ube44\ubc00\ubc88\ud638 \uc778\uc99d \/ \ud0a4 \uc778\uc99d<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>\uc791\ub3d9<\/td><td data-label=\"\ube44\ubc88\/\ud0a4\">\ube44\ubc88: \ub9e4\ubc88 \ube44\ubc00\ubc88\ud638\ub97c \ud0c0\uc774\ud551\ud574 \ubcf4\ub0c4. \ud0a4: \uc11c\ubc84\uac00 &#8220;\uc774 \uacf5\uac1c\ud0a4 \uac00\uc9c4 \uc0ac\ub78c\uc774 \ub9de\ub294\uc9c0&#8221; \uc218\ud559\uc801\uc73c\ub85c \ud655\uc778 \u2014 \ube44\ubc00\uc740 \ub124\ud2b8\uc6cc\ud06c\ub85c \uc548 \ubcf4\ub0c4.<\/td><\/tr>\n      <tr><td>\uacf5\uaca9\uc5d0<\/td><td data-label=\"\ube44\ubc88\/\ud0a4\">\ube44\ubc88: \ubb34\ucc28\ubcc4 \ub300\uc785(\ud754\ud55c \ube44\ubc88\u00b7\uc0ac\uc804 \ub2e8\uc5b4)\uc5d0 \uc57d\ud568. \uc778\ud130\ub137 \uc11c\ubc84\ub294 \ub04a\uc784\uc5c6\uc774 \uc2dc\ub3c4\ubc1b\uc74c. \ud0a4: \uc0ac\uc2e4\uc0c1 \ucd94\uce21 \ubd88\uac00(\ucc9c\ubb38\ud559\uc801 \uacbd\uc6b0\uc758 \uc218).<\/td><\/tr>\n      <tr><td>\ud3b8\uc758<\/td><td data-label=\"\ube44\ubc88\/\ud0a4\">\ube44\ubc88: \ub9e4\ubc88 \uc785\ub825. \ud0a4: \ud55c \ubc88 \uc124\uc815\ud558\uba74 \uc790\ub3d9(\uac1c\uc778\ud0a4\uc5d0 \ud328\uc2a4\ud504\ub808\uc774\uc988\ub97c \uac78\uc5b4\ub450\uba74 \uadf8\uac83\ub9cc \uac00\ub054 \u2014 ssh-agent\uac00 \uae30\uc5b5).<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <\/div>\n  <p>&#8220;\ud0a4\uc30d&#8221;\uc758 \uac1c\ub150: <strong>\uac1c\uc778\ud0a4(private key)<\/strong>\ub294 \ub0b4 \ucef4\ud4e8\ud130\uc5d0\ub9cc \ub450\ub294 \ube44\ubc00(<code>~\/.ssh\/id_ed25519<\/code>) \u2014 \uc790\ubb3c\uc1e0\ub97c \uc5ec\ub294 \uc9c4\uc9dc \uc5f4\uc1e0. <strong>\uacf5\uac1c\ud0a4(public key)<\/strong>\ub294 \ub204\uad6c\ud55c\ud14c \uc918\ub3c4 \ub418\ub294 \uc9dd(<code>~\/.ssh\/id_ed25519.pub<\/code>) \u2014 \uc790\ubb3c\uc1e0 \uc790\uccb4. \uc11c\ubc84\uc5d0 &#8220;\uc774 \uc790\ubb3c\uc1e0(\uacf5\uac1c\ud0a4)\ub97c \ub2ec\uc544\ub46c&#8221;\ub77c\uace0 \ub4f1\ub85d\ud574\ub450\uba74, \ub0b4 \uc5f4\uc1e0(\uac1c\uc778\ud0a4)\ub85c\ub9cc \uc5f4\ub9bd\ub2c8\ub2e4. \uadf8\ub798\uc11c <strong>\uacf5\uac1c\ud0a4\ub294 \uc11c\ubc84\u00b7\uae43\ud5c8\ube0c \ub4f1\uc5d0 \ub9c8\uc74c\uaecf \ub4f1\ub85d<\/strong>, <strong>\uac1c\uc778\ud0a4\ub294 \uc808\ub300 \ubc16\uc73c\ub85c \uc548 \ub098\uac10<\/strong> \u2014 \uc774 \ube44\ub300\uce6d\uc774 \ud575\uc2ec\uc774\uc5d0\uc694.<\/p>\n\n  <h2>\ud0a4 \ub9cc\ub4e4\uae30 \u2014 ssh-keygen\uacfc \uad8c\ud55c<\/h2>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> ssh-keygen -t ed25519 -C &#8220;\ub0b4\uba54\ubaa8@\ub0b4\ub178\ud2b8\ubd81&#8221;\n<span class=\"o\">                          \u2190 -t ed25519: \uc694\uc998 \uad8c\uc7a5 \ud0a4 \uc885\ub958(\uc9e7\uace0 \uc548\uc804). -C: \ud0a4\uc5d0 \ubd99\uc77c \uba54\ubaa8(\uc5b4\ub290 \uae30\uae30 \ud0a4\uc778\uc9c0 \uc54c\uc544\ubcf4\uac8c)<\/span>\n<span class=\"o\">  Enter file (default ~\/.ssh\/id_ed25519):   \u2190 \uadf8\ub0e5 Enter (\uae30\ubcf8 \uc704\uce58)<\/span>\n<span class=\"o\">  Enter passphrase:                          \u2190 \uac1c\uc778\ud0a4\uc5d0 \uac70\ub294 \ucd94\uac00 \uc554\ud638. \uac15\ub825 \uad8c\uc7a5 \u2014 \uac1c\uc778\ud0a4\uac00 \uc720\ucd9c\ub3fc\ub3c4 \ud55c \uacb9 \ub354. (\ube48 \uce78\ub3c4 \uac00\ub2a5\ud558\uc9c0\ub9cc \ube44\ucd94\ucc9c)<\/span>\n<span class=\"o\">  \u2192 ~\/.ssh\/id_ed25519 (\uac1c\uc778\ud0a4, \uc808\ub300 \uacf5\uc720 X)  \uc640  ~\/.ssh\/id_ed25519.pub (\uacf5\uac1c\ud0a4, \uc11c\ubc84\uc5d0 \ub4f1\ub85d\ud560 \uac83) \ub450 \ud30c\uc77c \uc0dd\uc131<\/span>\n<span class=\"c\">$<\/span> ls -l ~\/.ssh\/\n<span class=\"o\">-rw&#8212;&#8212;- &#8230; id_ed25519        \u2190 \uad8c\ud55c 600(\uc18c\uc720\uc790\ub9cc \uc77d\uae30\/\uc4f0\uae30). ssh-keygen \uc774 \uc54c\uc544\uc11c \uc124\uc815\ud568<\/span>\n<span class=\"o\">-rw-r&#8211;r&#8211; &#8230; id_ed25519.pub    \u2190 \uacf5\uac1c\ud0a4\ub294 644 OK<\/span>\n<span class=\"c\">$<\/span> cat ~\/.ssh\/id_ed25519.pub\n<span class=\"o\">ssh-ed25519 AAAA&#8230; \ub0b4\uba54\ubaa8@\ub0b4\ub178\ud2b8\ubd81   \u2190 \uc774 \ud55c \uc904\uc774 \uacf5\uac1c\ud0a4. \uae43\ud5c8\ube0c\/\uc11c\ubc84\uc5d0 \ubd99\uc5ec\ub123\uc744 \ub54c \uc774\uac78 \ud1b5\uc9f8\ub85c<\/span>\n<span class=\"c\">$<\/span> chmod 700 ~\/.ssh ; chmod 600 ~\/.ssh\/id_ed25519\n<span class=\"o\">                          \u2190 \uad8c\ud55c\uc774 \ub108\ubb34 \uc5f4\ub824 \uc788\uc73c\uba74 ssh \uac00 &#8220;\ubcf4\uc548\uc0c1 \uac70\ubd80&#8221;\ud568. ~\/.ssh \ub294 700, \uac1c\uc778\ud0a4\ub294 600 \u2014 9\ud3b8\uc758 chmod<\/span><\/div>\n  <div class=\"warnbox\"><strong>\u26a0\ufe0f \uac1c\uc778\ud0a4\ub294 \ub2e8 \ud558\ub098\uc758 \uaddc\uce59:<\/strong> <code>~\/.ssh\/id_ed25519<\/code>(\ud655\uc7a5\uc790 \uc5c6\ub294 \uac83)\ub294 <strong>\uc774\uba54\uc77c\uc5d0 \ucca8\ubd80\ud558\uc9c0\ub3c4, \uae43\uc5d0 \ucee4\ubc0b\ud558\uc9c0\ub3c4, \ucc44\ud305\uc5d0 \ubd99\uc5ec\ub123\uc9c0\ub3c4, USB\ub85c \uc62e\uae30\uc9c0\ub3c4 \ub9c8\uc138\uc694<\/strong>(\ub2e4\ub978 \uae30\uae30\uc5d0\uc11c \uc4f0\ub824\uba74 \uadf8 \uae30\uae30\uc5d0\uc11c \uc0c8 \ud0a4\ub97c \ub9cc\ub4dc\ub294 \uac8c \uc815\uc11d). \uc720\ucd9c\ub418\uba74 \uadf8 \ud0a4\ub85c \ub4f1\ub85d\ub41c \ubaa8\ub4e0 \uc11c\ubc84\uac00 \ub6ab\ub9bd\ub2c8\ub2e4 \u2014 \uadf8\ub798\uc11c \ud328\uc2a4\ud504\ub808\uc774\uc988\ub97c \uac70\ub294 \uac70\uace0\uc694(\ud55c \uacb9 \ub354). \uadf8\ub9ac\uace0 <strong>\uad8c\ud55c\uc774 \ub108\ubb34 \ub290\uc2a8\ud558\uba74 ssh \uac00 \uc791\ub3d9\uc744 \uac70\ubd80<\/strong>\ud569\ub2c8\ub2e4(&#8220;UNPROTECTED PRIVATE KEY FILE&#8221; \uc5d0\ub7ec): <code>~\/.ssh<\/code>\ub294 <code>700<\/code>, \uac1c\uc778\ud0a4\ub294 <code>600<\/code>. <code>chmod 777 ~\/.ssh<\/code> \uac19\uc740 \uac74 \uc808\ub300 \uae08\uc9c0(15\ud3b8\uc758 \uadf8 \ud568\uc815 \u2014 \ub108\ubb34 \uc5f4\uc5b4\ub3c4 \uac70\ubd80).<\/div>\n\n  <h2>\uc11c\ubc84\uc5d0 \ub4f1\ub85d\u00b7\uc811\uc18d \u2014 ssh-copy-id\uc640 ssh<\/h2>\n  <p>\ub9cc\ub4e0 \uacf5\uac1c\ud0a4\ub97c \uc11c\ubc84\uc758 <code>~\/.ssh\/authorized_keys<\/code>\uc5d0 \ucd94\uac00\ud558\uba74 \u2014 \uadf8 \uc11c\ubc84\ub294 &#8220;\uc774 \uc0ac\ub78c \ub9de\ub2e4&#8221; \ud569\ub2c8\ub2e4. \ud55c \uc904\ub85c:<\/p>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> ssh-copy-id user@\uc11c\ubc84\uc8fc\uc18c\n<span class=\"o\">                          \u2190 \ub0b4 \uacf5\uac1c\ud0a4\ub97c \uc11c\ubc84\uc758 ~\/.ssh\/authorized_keys \uc5d0 \ucd94\uac00 (\uc774\ub54c \ud55c \ubc88\uc740 \ube44\ubc88 \uc785\ub825 \u2014 \ub9c8\uc9c0\ub9c9 \ube44\ubc88 \uc0ac\uc6a9)<\/span>\n<span class=\"c\">$<\/span> ssh user@\uc11c\ubc84\uc8fc\uc18c\n<span class=\"o\">                          \u2190 \uc774\uc81c \ube44\ubc88 \uc5c6\uc774 \uc811\uc18d! (\uac1c\uc778\ud0a4 \ud328\uc2a4\ud504\ub808\uc774\uc988\ub97c \uac78\uc5c8\uc73c\uba74 \uadf8\uac83\ub9cc \ud55c \ubc88 \ubb3c\uc5b4\ubd04 \u2014 \uc138\uc158 \ub3d9\uc548 ssh-agent \uac00 \uae30\uc5b5)<\/span>\n<span class=\"c\">$<\/span> ssh user@\uc11c\ubc84\uc8fc\uc18c &#8216;uptime&#8217;\n<span class=\"o\">                          \u2190 \uc811\uc18d \uc548 \ud558\uace0 \uba85\ub839 \ud558\ub098\ub9cc \uc6d0\uaca9 \uc2e4\ud589 (\uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \uc720\uc6a9)<\/span>\n<span class=\"c\">$<\/span> ssh-add ~\/.ssh\/id_ed25519\n<span class=\"o\">                          \u2190 ssh-agent \uc5d0 \ud0a4\ub97c \ub4f1\ub85d (\ud55c \uc138\uc158 \ub3d9\uc548 \ud328\uc2a4\ud504\ub808\uc774\uc988\ub97c \ub2e4\uc2dc \uc548 \ubb3b\uac8c). \ubcf4\ud1b5 \ub370\uc2a4\ud06c\ud0d1\uc740 \uc790\ub3d9<\/span>\n<span class=\"o\">  # ssh-copy-id \uac00 \uc5c6\ub294 \ud658\uacbd\uc774\uba74 \uc218\ub3d9: cat ~\/.ssh\/id_ed25519.pub | ssh user@\uc11c\ubc84 &#8216;mkdir -p ~\/.ssh &#038;&#038; cat >> ~\/.ssh\/authorized_keys &#038;&#038; chmod 700 ~\/.ssh &#038;&#038; chmod 600 ~\/.ssh\/authorized_keys&#8217;<\/span><\/div>\n  <p>\ucc38\uace0\ub85c \uae43\ud5c8\ube0c\/\uae43\ub7a9\uc5d0 \ud478\uc2dc\ud560 \ub54c \uc4f0\ub294 SSH \ud0a4\ub3c4 \ub611\uac19\uc2b5\ub2c8\ub2e4 \u2014 \uadf8\ucabd \uc124\uc815\uc758 &#8220;SSH keys&#8221;\uc5d0 <code>id_ed25519.pub<\/code> \ub0b4\uc6a9\uc744 \ubd99\uc5ec\ub123\uc73c\uba74, \uadf8 \ub2e4\uc74c\ubd80\ud130 \ube44\ubc88 \uc5c6\uc774 push\/pull. \ud55c \uac1c\uc778\ud0a4\ub85c \uc5ec\ub7ec \uc11c\ubc84\u00b7\uc11c\ube44\uc2a4\uc5d0 \uc4f8 \uc218 \uc788\uc5b4\uc694(\uacf5\uac1c\ud0a4\ub9cc \uac01\uac01 \ub4f1\ub85d).<\/p>\n\n  <h2>\ud3b8\ud558\uac8c \uc4f0\uae30 \u2014 ~\/.ssh\/config, \uadf8\ub9ac\uace0 \uc11c\ubc84 \uad73\ud788\uae30<\/h2>\n  <p>\uc811\uc18d\ud560 \uc11c\ubc84\uac00 \ub298\uba74 <code>ssh ubuntu@13.124.x.x -p 22 -i ~\/.ssh\/...<\/code>\ub97c \ub9e4\ubc88 \uce58\uae30 \uadc0\ucc2e\uc8e0. <code>~\/.ssh\/config<\/code>\uc5d0 \ubcc4\uce6d\uc744 \uc815\ud574\ub450\uba74:<\/p>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> nano ~\/.ssh\/config\n<span class=\"o\">Host myserver                  \u2190 \ubcc4\uce6d. \uc774\uc81c &#8216;ssh myserver&#8217; \ub9cc \uce58\uba74 \ub428<\/span>\n<span class=\"o\">    HostName 13.124.10.20      \u2190 \uc2e4\uc81c \uc8fc\uc18c<\/span>\n<span class=\"o\">    User ubuntu               \u2190 \uc811\uc18d \uc0ac\uc6a9\uc790<\/span>\n<span class=\"o\">    Port 22                   \u2190 \ud3ec\ud2b8 (\ub2e4\ub974\uba74 \uc5ec\uae30\uc11c)<\/span>\n<span class=\"o\">    IdentityFile ~\/.ssh\/id_ed25519   \u2190 \uc4f8 \uac1c\uc778\ud0a4<\/span>\n<span class=\"o\">                          \u2190 \uc800\uc7a5 \ud6c4: chmod 600 ~\/.ssh\/config (\uc774\uac83\ub3c4 \uad8c\ud55c \ucc59\uaca8\uc57c \ud568)<\/span>\n<span class=\"c\">$<\/span> ssh myserver\n<span class=\"o\">                          \u2190 \uc704 \uc124\uc815\uc73c\ub85c \ubc14\ub85c \uc811\uc18d. scp myserver:\ud30c\uc77c ~\/  \uac19\uc740 \ub370\ub3c4 \ubcc4\uce6d \uadf8\ub300\ub85c \uc4f0\uc784<\/span><\/div>\n  <div class=\"warnbox\"><strong>\u26a0\ufe0f &#8220;\ube44\ubc88 \ub85c\uadf8\uc778 \ub044\uae30&#8221;\ub294 \uc2e0\uc911\ud788:<\/strong> \uc11c\ubc84 \ubcf4\uc548\uc744 \ub354 \uad73\ud788\ub824\uba74 <code>\/etc\/ssh\/sshd_config<\/code>\uc5d0\uc11c <code>PasswordAuthentication no<\/code>(\ud0a4\ub85c\ub9cc \uc811\uc18d \ud5c8\uc6a9)\u00b7<code>PermitRootLogin no<\/code>\ub85c \ubc14\uafb8\uace0 <code>sudo systemctl restart ssh<\/code>(19\ud3b8). \ud558\uc9c0\ub9cc \u2014 <strong>\ud0a4 \uc811\uc18d\uc774 \ud655\uc2e4\ud788 \ub418\ub294 \uac78 \uba3c\uc800 \ud655\uc778\ud558\uace0, \uadf8 \uc124\uc815 \ud30c\uc77c\uc740 8\ud3b8\ucc98\ub7fc \ubc31\uc5c5(<code>sudo cp ... .bak<\/code>)\ud55c \ub2e4\uc74c\uc5d0<\/strong> \ud558\uc138\uc694. \ud0a4\uac00 \uc81c\ub300\ub85c \uc548 \ub410\ub294\ub370 \ube44\ubc88 \ub85c\uadf8\uc778\uc744 \uaebc\ubc84\ub9ac\uba74 \u2014 \uadf8 \uc11c\ubc84\uc5d0 \uc601\uc601 \ubabb \ub4e4\uc5b4\uac11\ub2c8\ub2e4(\ucf58\uc194 \uc811\uc18d\uc774 \uac00\ub2a5\ud55c \ud074\ub77c\uc6b0\ub4dc\uba74 \ubcf5\uad6c\ub418\uc9c0\ub9cc, \uc544\ub2c8\uba74 \ud070\uc77c). \uadf8\ub9ac\uace0 17\ud3b8 ufw\uc758 <code>limit 22\/tcp<\/code>\ub3c4 \uac19\uc774 \uac78\uc5b4\ub450\uba74 \ubb34\ucc28\ubcc4 \ub300\uc785\uc744 \ub354 \ub9c9\uc544\uc90d\ub2c8\ub2e4.<\/div>\n  <div class=\"databox\"><b>\uc624\ub298\uc758 \uc815\ub9ac:<\/b> \ud0a4\uc30d = \uac1c\uc778\ud0a4(<code>~\/.ssh\/id_ed25519<\/code>, \uc808\ub300 \uacf5\uc720 X, \uad8c\ud55c 600)+ \uacf5\uac1c\ud0a4(<code>.pub<\/code>, \uc11c\ubc84\uc5d0 \ub4f1\ub85d OK). \ub9cc\ub4e4\uae30: <code>ssh-keygen -t ed25519 -C \"\uba54\ubaa8\"<\/code>(\ud328\uc2a4\ud504\ub808\uc774\uc988 \uac78\uae30). \uad8c\ud55c: <code>~\/.ssh<\/code>=700, \uac1c\uc778\ud0a4=600(\uc548 \uadf8\ub7fc ssh \uac70\ubd80). \ub4f1\ub85d: <code>ssh-copy-id user@\uc11c\ubc84<\/code> \u2192 <code>ssh user@\uc11c\ubc84<\/code>(\ube44\ubc88 \uc5c6\uc774). \ud3b8\ud558\uac8c: <code>~\/.ssh\/config<\/code>\uc5d0 <code>Host \ubcc4\uce6d \/ HostName \/ User \/ Port \/ IdentityFile<\/code>. \uad73\ud788\uae30(\uc2e0\uc911\ud788, \ud0a4 \ud655\uc778+\ubc31\uc5c5 \ud6c4): <code>sshd_config<\/code>\uc758 <code>PasswordAuthentication no<\/code>\u00b7<code>PermitRootLogin no<\/code> + ufw <code>limit 22<\/code>.<\/div>\n\n  <div class=\"roadmap\">\n    <h3>\uc2dc\ub9ac\uc988 \ud750\ub984<\/h3>\n    <ol>\n      <li>1~15\ud3b8 \uc785\ubb38\u00b7\uae30\ucd08\u00b7\uc911\uae09 \u2714 &nbsp; 16\ud3b8 \ub124\ud2b8\uc6cc\ud06c \u2714 &nbsp; 17\ud3b8 ufw \ubc29\ud654\ubcbd \u2714<\/li>\n      <li><strong>18\ud3b8 \u2014 SSH \ud0a4 \uc124\uc815 (\uc774 \uae00) \u2714<\/strong><\/li>\n      <li>19\ud3b8 \u2014 systemd \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30 (\ud504\ub85c\uadf8\ub7a8\uc744 \ubd80\ud305 \uc2dc \uc790\ub3d9 \uc2dc\uc791\u00b7\uc7ac\uc2dc\uc791 \u2014 <code>systemctl<\/code>\u00b7<code>journalctl<\/code>)<\/li>\n      <li>20\ud3b8~ \u2014 cron \/ \uc178 \uc2a4\ud06c\ub9bd\ud2b8 \/ \uc178 \uc2a4\ud06c\ub9bd\ud2b8 \ubca0\uc2a4\ud2b8 \ud504\ub799\ud2f0\uc2a4 \u2026<\/li>\n    <\/ol>\n  <\/div>\n  <p>\uc624\ub298 \ud560 \uc77c: <code>ssh-keygen -t ed25519 -C \"\ub0b4\ub178\ud2b8\ubd81\"<\/code>\uc73c\ub85c \ud0a4\ub97c \ud558\ub098 \ub9cc\ub4e4\uace0(\ud328\uc2a4\ud504\ub808\uc774\uc988 \uac78\uae30), <code>ls -l ~\/.ssh\/<\/code>\ub85c \uad8c\ud55c(\uac1c\uc778\ud0a4 600) \ud655\uc778\ud558\uace0, <code>cat ~\/.ssh\/id_ed25519.pub<\/code>\uc73c\ub85c \uacf5\uac1c\ud0a4\uac00 \uc5b4\ub5bb\uac8c \uc0dd\uacbc\ub294\uc9c0 \ubcf4\uc138\uc694. \uc811\uc18d\ud560 \uc11c\ubc84\uac00 \uc788\uc73c\uba74 <code>ssh-copy-id<\/code>\uae4c\uc9c0, \uc5c6\uc73c\uba74 \uae43\ud5c8\ube0c SSH \ud0a4\uc5d0 \ub4f1\ub85d\ud574\ubcf4\ub294 \uac83\ub3c4 \uc88b\uc2b5\ub2c8\ub2e4(<code>git push<\/code>\uac00 \ube44\ubc88 \uc548 \ubb3b\uac8c \ub428). 19\ud3b8\uc5d0\uc11c \ub9cc\ub098\uc694. (SSH \uc804\uccb4\ub294 <code>man ssh<\/code>\u00b7<code>man ssh_config<\/code>, \ub610\ub294 <a href=\"https:\/\/ubuntu.com\/server\/docs\/openssh-server\" target=\"_blank\" rel=\"noopener\">\uc6b0\ubd84\ud22c OpenSSH \ubb38\uc11c<\/a>.)<\/p>\n\n  <div class=\"cta\">\n    <h3>\uc6b0\ubd84\ud22c\u00b7\ub9ac\ub205\uc2a4 \uc785\ubb38 \uc2dc\ub9ac\uc988<\/h3>\n    <p>\uc774\uc81c \ube44\ubc88 \uc5c6\uc774\u00b7\uc548\uc804\ud558\uac8c \uc6d0\uaca9 \uc811\uc18d\ud569\ub2c8\ub2e4. 19\ud3b8 &#8220;systemd \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30&#8221;\ub85c \uc774\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n    <p>\ub2e4\uc74c \ud3b8\uc740 <a href=\"https:\/\/junai.ai\/blog\/\" target=\"_blank\" rel=\"noopener\">JUNAI \ube14\ub85c\uadf8<\/a>\uc5d0\uc11c \uc774\uc5b4 \ubcf4\uc138\uc694.<\/p>\n  <\/div>\n\n<\/article>\n<\/div>\n\n<footer>\n  <div class=\"wrap\">\u00a9 2026 JUNAI \u00b7 \uc6b0\ubd84\ud22c\u00b7\ub9ac\ub205\uc2a4 \uc785\ubb38 \uc2dc\ub9ac\uc988 18\ud3b8 \u00b7 \ubcf8 \uae00\uc740 2026\ub144 5\uc6d4 13\uc77c \uae30\uc900\uc73c\ub85c \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/div>\n<\/footer>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud0a4\uc30d\uc774 \ube44\ubc88\ubcf4\ub2e4 \uc548\uc804\ud55c \uc774\uc720, ssh-keygen\u00b7ssh-copy-id\ub85c \ud0a4 \ub9cc\ub4e4\uace0 \ub4f1\ub85d, ~\/.ssh\/config, \uad8c\ud55c 600\/700. \ub9ac\ub205\uc2a4 \uc785\ubb38 18\ud3b8.<\/p>\n","protected":false},"author":1,"featured_media":177,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ubuntu-linux"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/comments?post=190"}],"version-history":[{"count":0,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts\/190\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/media\/177"}],"wp:attachment":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/media?parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/categories?post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/tags?post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}