1"use strict";(self.webpackChunkyolo=self.webpackChunkyolo||[]).push([["6194"],{31450(e,n,s){s.r(n),s.d(n,{metadata:()=>l,default:()=>t,frontMatter:()=>r,contentTitle:()=>c,toc:()=>h,assets:()=>a});var l=JSON.parse('{"id":"notes/develop/vps-setup","title":"VPS \u65B0\u624B\u4E0A\u8DEF","description":"\u8D2D\u4E70\u4E86 VPS \u4EE5\u540E\uFF0C\u9996\u5148\u6211\u4EEC\u9700\u8981\u4E3A\u5176\u5B89\u88C5\u4E00\u4E2A\u7CFB\u7EDF\uFF0C\u5E38\u89C1\u7684\u9009\u62E9\u4E3B\u8981\u6709 CentOS \u548C Debian \u4E24\u79CD\u3002\u5B89\u88C5\u7684\u8FC7\u7A0B\u901A\u5E38\u90FD\u662F\u4E00\u952E\u5B8C\u6210\uFF0C\u65E0\u9700\u8D58\u8FF0\u3002\u4F46\u662F\u7CFB\u7EDF\u5B89\u88C5\u5B8C\u6210\u4E4B\u540E\uFF0C\u8FD8\u9700\u8981\u4E00\u4E9B\u521D\u59CB\u5316\u7684\u914D\u7F6E\u6B65\u9AA4\uFF0C\u624D\u80FD\u4FDD\u8BC1\u6211\u4EEC\u670D\u52A1\u5668\u7684\u5B89\u5168\u548C\u7A33\u5B9A\uFF0C\u4E3A\u6211\u4EEC\u63A5\u4E0B\u6765\u7684\u4F7F\u7528\u6253\u4E0B\u575A\u5B9E\u7684\u57FA\u7840\u3002\u4E0B\u9762\u6211\u5C31\u4EE5 CentOS 7 \u4E3A\u4F8B\uFF0C\u4E3A\u5927\u5BB6\u4E00\u4E00\u4ECB\u7ECD\u8FD9\u4E9B\u6B65\u9AA4\uFF08\u5982\u6709\u9057\u6F0F\uFF0C\u6B22\u8FCE\u7559\u8A00\u8865\u5145\uFF09\u3002","source":"@site/docs/notes/develop/vps-setup.mdx","sourceDirName":"notes/develop","slug":"/notes/develop/vps-setup","permalink":"/docs/notes/develop/vps-setup","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Linux","permalink":"/docs/tags/linux"}],"version":"current","lastUpdatedAt":1730018633000,"frontMatter":{"tags":["linux"]},"sidebar":"docsSidebar","previous":{"title":"\\"\u79D1\u5B66\u4E0A\u7F51\\"\u6307\u5357","permalink":"/docs/notes/develop/over-gfw-guide"},"next":{"title":"HTTP ETag \u7684\u5F3A\u5F31\u533A\u522B","permalink":"/docs/notes/develop/web/http-etag-strong-vs-weak"}}'),d=s(74848),i=s(28453);let r={tags:["linux"]},c="VPS \u65B0\u624B\u4E0A\u8DEF",a={},h=[{value:"\u7B2C\u4E00\u6B65\uFF1ARoot \u767B\u5F55",id:"\u7B2C\u4E00\u6B65root-\u767B\u5F55",level:2},{value:"\u7B2C\u4E8C\u6B65\uFF1A\u521B\u5EFA\u65B0\u7528\u6237",id:"\u7B2C\u4E8C\u6B65\u521B\u5EFA\u65B0\u7528\u6237",level:2},{value:"\u7B2C\u4E09\u6B65\uFF1A\u8D4B\u4E88 Root \u6743\u9650",id:"\u7B2C\u4E09\u6B65\u8D4B\u4E88-root-\u6743\u9650",level:2},{value:"\u7B2C\u56DB\u6B65\uFF1A\u8BBE\u7F6E\u516C\u94A5\u8BA4\u8BC1\uFF08\u63A8\u8350\uFF09",id:"\u7B2C\u56DB\u6B65\u8BBE\u7F6E\u516C\u94A5\u8BA4\u8BC1\u63A8\u8350",level:2},{value:"\u751F\u6210\u5BC6\u94A5\u5BF9",id:"\u751F\u6210\u5BC6\u94A5\u5BF9",level:3},{value:"\u90E8\u7F72\u516C\u94A5\u5230\u670D\u52A1\u5668",id:"\u90E8\u7F72\u516C\u94A5\u5230\u670D\u52A1\u5668",level:3},{value:"\u9009\u62E91\uFF1A\u4F7F\u7528 <code>ssh-copy-id</code> \u81EA\u52A8\u90E8\u7F72",id:"\u9009\u62E91\u4F7F\u7528-ssh-copy-id-\u81EA\u52A8\u90E8\u7F72",level:4},{value:"\u9009\u62E92\uFF1A\u624B\u52A8\u90E8\u7F72",id:"\u9009\u62E92\u624B\u52A8\u90E8\u7F72",level:4},{value:"\u7B2C\u4E94\u6B65\uFF1A\u914D\u7F6E SSH Daemon",id:"\u7B2C\u4E94\u6B65\u914D\u7F6E-ssh-daemon",level:2},{value:"\u7B2C\u516D\u6B65\uFF1A\u914D\u7F6E\u9632\u706B\u5899\uFF08\u63A8\u8350\uFF09",id:"\u7B2C\u516D\u6B65\u914D\u7F6E\u9632\u706B\u5899\u63A8\u8350",level:2},{value:"\u7B2C\u4E03\u6B65\uFF1A\u8BBE\u7F6E\u65F6\u533A\u548C\u65F6\u95F4\u540C\u6B65\uFF08\u63A8\u8350\uFF09",id:"\u7B2C\u4E03\u6B65\u8BBE\u7F6E\u65F6\u533A\u548C\u65F6\u95F4\u540C\u6B65\u63A8\u8350",level:2},{value:"\u8BBE\u7F6E\u65F6\u533A",id:"\u8BBE\u7F6E\u65F6\u533A",level:3},{value:"\u914D\u7F6E\u65F6\u95F4\u540C\u6B65",id:"\u914D\u7F6E\u65F6\u95F4\u540C\u6B65",level:3},{value:"\u7B2C\u516B\u6B65\uFF1A\u521B\u5EFA SWAP \u5206\u533A",id:"\u7B2C\u516B\u6B65\u521B\u5EFA-swap-\u5206\u533A",level:2},{value:"\u603B\u7ED3",id:"\u603B\u7ED3",level:2},{value:"\u53C2\u8003",id:"\u53C2\u8003",level:2}];function o(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"vps-\u65B0\u624B\u4E0A\u8DEF",children:"VPS \u65B0\u624B\u4
1E0A\u8DEF"})}),"\n",(0,d.jsxs)(n.p,{children:["\u8D2D\u4E70\u4E86 VPS \u4EE5\u540E\uFF0C\u9996\u5148\u6211\u4EEC\u9700\u8981\u4E3A\u5176\u5B89\u88C5\u4E00\u4E2A\u7CFB\u7EDF\uFF0C\u5E38\u89C1\u7684\u9009\u62E9\u4E3B\u8981\u6709 ",(0,d.jsx)(n.code,{children:"CentOS"})," \u548C ",(0,d.jsx)(n.code,{children:"Debian"})," \u4E24\u79CD\u3002\u5B89\u88C5\u7684\u8FC7\u7A0B\u901A\u5E38\u90FD\u662F\u4E00\u952E\u5B8C\u6210\uFF0C\u65E0\u9700\u8D58\u8FF0\u3002\u4F46\u662F\u7CFB\u7EDF\u5B89\u88C5\u5B8C\u6210\u4E4B\u540E\uFF0C\u8FD8\u9700\u8981\u4E00\u4E9B\u521D\u59CB\u5316\u7684\u914D\u7F6E\u6B65\u9AA4\uFF0C\u624D\u80FD\u4FDD\u8BC1\u6211\u4EEC\u670D\u52A1\u5668\u7684\u5B89\u5168\u548C\u7A33\u5B9A\uFF0C\u4E3A\u6211\u4EEC\u63A5\u4E0B\u6765\u7684\u4F7F\u7528\u6253\u4E0B\u575A\u5B9E\u7684\u57FA\u7840\u3002\u4E0B\u9762\u6211\u5C31\u4EE5 ",(0,d.jsx)(n.code,{children:"CentOS 7"})," \u4E3A\u4F8B\uFF0C\u4E3A\u5927\u5BB6\u4E00\u4E00\u4ECB\u7ECD\u8FD9\u4E9B\u6B65\u9AA4\uFF08\u5982\u6709\u9057\u6F0F\uFF0C\u6B22\u8FCE\u7559\u8A00\u8865\u5145\uFF09\u3002"]}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u4E00\u6B65root-\u767B\u5F55",children:"\u7B2C\u4E00\u6B65\uFF1ARoot \u767B\u5F55"}),"\n",(0,d.jsxs)(n.p,{children:["\u901A\u5E38\u6211\u4EEC\u53EF\u4EE5\u5728 VPS \u670D\u52A1\u63D0\u4F9B\u5546\u7684\u7F51\u7AD9\u4E0A\u4F7F\u7528\u7F51\u9875\u7248\u7684 shell \u5DE5\u5177\u76F4\u63A5\u767B\u5F55\u5230\u670D\u52A1\u5668\uFF0C\u4E5F\u53EF\u4EE5\u4F7F\u7528 SSH \u547D\u4EE4\u884C\u5DE5\u5177\uFF0C\u6216\u8005\u53EF\u4EE5\u4F7F\u7528 ",(0,d.jsx)(n.a,{href:"https://www.putty.org/",children:"PuTTY"}),"/",(0,d.jsx)(n.a,{href:"https://www.bitvise.com/ssh-client",children:"Bitvise SSH Client"})," \u8FD9\u6837\u7684\u7B2C\u4E09\u65B9\u5DE5\u5177\uFF0C\u6839\u636E VPS \u670D\u52A1\u63D0\u4F9B\u5546\u7ED9\u4E88\u6211\u4EEC\u7684 IP \u3001\u7AEF\u53E3\u3001\u5BC6\u7801\uFF0C\u4F7F\u7528\u7528\u6237\u540D",(0,d.jsx)(n.code,{children:"root"}),"\u767B\u5F55\u3002"]}),"\n",(0,d.jsx)(n.admonition,{type:"warning",children:(0,d.jsx)(n.p,{children:"root \u7528\u6237\u5177\u6709\u7CFB\u7EDF\u6700\u9AD8\u6743\u9650\uFF0C\u4E00\u65E6\u88AB\u4E0D\u6000\u597D\u610F\u7684\u4EBA\u83B7\u53D6\u5230\u4F60\u670D\u52A1\u5668\u7684 root \u7528\u6237\u6743\u9650\uFF0C\u4ED6\u5C31\u53EF\u4EE5\u8BFB\u53D6/\u4FEE\u6539/\u5220\u9664\u7CFB\u7EDF\u4E2D\u7684\u4EFB\u4F55\u6587\u4EF6\uFF0C\u6216\u8005\u7528\u4F60\u7684\u670D\u52A1\u5668\u505A\u4EFB\u4F55\u4E8B\u60C5\uFF08\u6BD4\u5982\u6316\u77FF\u3001\u53D1\u9001\u8BC8\u9A97\u90AE\u4EF6\u7B49\uFF09\u3002"})}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u4E8C\u6B65\u521B\u5EFA\u65B0\u7528\u6237",children:"\u7B2C\u4E8C\u6B65\uFF1A\u521B\u5EFA\u65B0\u7528\u6237"}),"\n",(0,d.jsx)(n.p,{children:"root \u7528\u6237\u7684\u7279\u6743\u65E2\u5E26\u6765\u4FBF\u5229\u6027\uFF0C\u4E5F\u540C\u65F6\u5E26\u6765\u5371\u9669\u6027\u3002\u56E0\u6B64\u6211\u4EEC\u8981\u91C7\u53D6\u63AA\u65BD\u9650\u5236 root \u7528\u6237\u7684\u4F7F\u7528\u3002"}),"\n",(0,d.jsx)(n.p,{children:'\u9996\u5148\u4E3A\u4F60\u81EA\u5DF1\u521B\u5EFA\u65B0\u7684\u7528\u6237\uFF0C\u8FD9\u91CC\u6211\u4EEC\u521B\u5EFA\u4E00\u4E2A\u540D\u4E3A"rookie"\u7684\u7528\u6237\uFF0C\u4F60\u53EF\u4EE5\u7528\u81EA\u5DF1\u9009\u62E9\u7684\u540D\u5B57\u66FF\u6362\u5B83\uFF1A'}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"adduser rookie\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u63A5\u7740\u4E3A\u8FD9\u4E2A\u7528\u6237\u8BBE\u7F6E\u5BC6\u7801\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"passwd rookie\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u5728\u547D\u4EE4\u884C\u4E2D\u5148\u8F93\u5165\u4E00\u904D\u5BC6\u7801\uFF0C\u518D\u91CD\u590D\u8F93\u5165\u4E00\u904D\u786E\u8BA4\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u8FD9\u6837\uFF0C\u8FD9\u4E2A\u540D\u4E3A\u201Drookie\u201D\u7684\u7528\u6237\u5C31\u521B\u5EFA\u5B8C\u6210\u4E86\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u4E09\u6B65\u8D4B\u4E88-root-\u6743\u9650",children:"\u7B2C\u4E09\u6B65\uFF1A\u8D4B\u4E88 Root \u6743\u9650"}),"\n",(0,d.jsx)(n.p,{children:"\u4E0A\u4E00\u6B65\u521B\u5EFA\u7684\u7528\u6237\u6CA1\u6709 root \u6743\u9650\u3002\u4F46\u5728\u65E5\u5E38\u4F7F\u7528\u4E2D\uFF0C\u7ECF\u5E38\u4F1A\u6709\u9700\u8981 root \u6743\u9650\u624D\u80FD\u6267\u884C\u7684\u64CD\u4F5C\uFF08\u6BD4\u5982\u5B89\u88C5\u7A0B\u5E8F\u3001\u4FEE\u6539\u914D\u7F6E\u7B49\uFF09\u3002\u4E3A\u4E86\u907F\u514D\u767B\u51FA\u518D\u767B\u5165\u6765\u56DE\u5207\u6362\u7528\u6237\uFF0C\u6211\u4EEC\u53EF\u4EE5\u8D4B\u4E88\u8FD9\u4E2A\u7528\u6237 root \u6743\u9650\uFF0C\u4EE5\u4FBF\u5728\u9700\u8981\u65F6\u4F7F\u7528 su/sudo \u547D\u4EE4\u5207\u6362\u5230 root \u7528\u6237\u3002"}),"\n",(0,d.jsxs)(n.p,{children:["\u5728 ",(0,d.jsx)(n.code,{children:"CentOS 7"})," \u4E2D\uFF0C\u6211\u4EEC\u901A\u8FC7\u5C06\u7528\u6237\u6DFB\u52A0\u5230 ",(0,d.jsx)(n.code,{children:"wheel"})," \u7EC4\uFF0C\u6765\u8D4B\u4E88\u5B83 root \u6743\u9650\u3002"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"gpasswd -a demo wheel\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u73B0\u5728\uFF0C\u8FD9\u4E2A\u7528\u6237\u53EF\u4EE5\u4F7F\u7528 root \u6743\u9650\u6267\u884C\u547D\u4EE4\u4E86\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u56DB\u6B65\u8BBE\u7F6E\u516C\u94A5\u8BA4\u8BC1\u63A8\u8350",children:"\u7B2C\u56DB\u6B65\uFF1A\u8BBE\u7F6E\u516C\u94A5\u8BA4\u8BC1\uFF08\u63A8\u8350\uFF09"}),"\n",(0,d.jsx)(n.p,{children:"SSH \u7528\u6237\u540D+\u5BC6\u7801\u7684\u8BA4\u8BC1\u65B9\u5F0F\u53EF\u80FD\u88AB\u66B4\u529B\u7834\u89E3\uFF0C\u4F7F\u7528 SSH \u5BC6\u94A5\u8BA4\u8BC1\u53EF\u4EE5\u8FDB\u4E00\u6B65\u52A0\u5F3A\u5B89\u5168\u6027\u3002"}),"\n",(0,d.jsx)(n.h3,{id:"\u751F\u6210\u5BC6\u94A5\u5BF9",children:"\u751F\u6210\u5BC6\u94A5\u5BF9"}),"\n",(0,d.jsx)(n.p,{children:"\u5728\u4F60\u672C\u5730\u673A\u5668\uFF08\u975E\u670D\u52A1\u5668\uFF09\u7684 terminal \u6216\u8005 cmd \u7B49\u547D\u4EE4\u884C\u5DE
15\u5177\u6267\u884C\u5982\u4E0B\u547D\u4EE4\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"ssh-keygen\n"})}),"\n",(0,d.jsx)(n.p,{children:'\u5047\u5982\u4F60\u7684\u672C\u5730\u673A\u5668\u7684\u7528\u6237\u540D\u4E3A"localrookie"\uFF0C\u4F60\u4F1A\u770B\u5230\u7C7B\u4F3C\u5982\u4E0B\u8F93\u51FA\uFF1A'}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"Generating public/private rsa key pair.\nEnter file in which to save the key (/Users/localrookie/.ssh/id_rsa):\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u6309\u56DE\u8F66\u786E\u8BA4\u6216\u8005\u8F93\u5165\u53E6\u4E00\u4E2A\u6587\u4EF6\u8DEF\u5F84\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u63A5\u4E0B\u6765\uFF0C\u4F60\u53EF\u4EE5\u9009\u62E9\u662F\u5426\u8BBE\u7F6E\u5BC6\u7801\u3002\u5982\u679C\u8BBE\u7F6E\u4E86\u5BC6\u7801\uFF0C\u4ECA\u540E\u5728\u4F7F\u7528\u79C1\u94A5\u767B\u5F55\u7684\u65F6\u5019\uFF0C\u8FD8\u9700\u8981\u8F93\u5165\u8BE5\u5BC6\u7801\u3002"}),"\n",(0,d.jsxs)(n.p,{children:["\u5BC6\u7801\u8BBE\u7F6E\u5B8C\u6BD5\u540E\uFF0C\u5BC6\u94A5\u5BF9\u5C31\u5728\u4E4B\u524D\u6307\u5B9A\u7684\u8DEF\u5F84\u4E0B\u751F\u6210\u4E86\uFF0C\u5305\u542B\u4E00\u4E2A\u79C1\u94A5\u6587\u4EF6 ",(0,d.jsx)(n.code,{children:"id_rsa"})," \u548C\u4E00\u4E2A\u516C\u94A5\u6587\u4EF6 ",(0,d.jsx)(n.code,{children:"id_rsa.pub"})," \u3002"]}),"\n",(0,d.jsx)(n.admonition,{type:"warning",children:(0,d.jsx)(n.p,{children:"\u4FDD\u7BA1\u597D\u4F60\u7684\u79C1\u94A5\uFF0C\u5982\u679C\u6CC4\u9732\u4E86\u5E94\u5F53\u7ACB\u5373\u91CD\u65B0\u751F\u6210\u5BC6\u94A5\u5BF9\u5E76\u90E8\u7F72\u65B0\u7684\u516C\u94A5\u5230\u670D\u52A1\u5668\u3002"})}),"\n",(0,d.jsx)(n.h3,{id:"\u90E8\u7F72\u516C\u94A5\u5230\u670D\u52A1\u5668",children:"\u90E8\u7F72\u516C\u94A5\u5230\u670D\u52A1\u5668"}),"\n",(0,d.jsx)(n.p,{children:"\u5BC6\u94A5\u5BF9\u751F\u6210\u540E\uFF0C\u6211\u4EEC\u9700\u8981\u628A\u516C\u94A5\u914D\u7F6E\u5230\u670D\u52A1\u5668\u7AEF\uFF0C\u8FD9\u6837\u6211\u4EEC\u7684\u672C\u5730\u673A\u5668\u5C31\u53EF\u4EE5\u901A\u8FC7SSH\u4F7F\u7528\u79C1\u94A5\u8FDB\u884C\u8BA4\u8BC1\uFF0C\u767B\u5F55\u5230\u670D\u52A1\u5668\u3002"}),"\n",(0,d.jsxs)(n.h4,{id:"\u9009\u62E91\u4F7F\u7528-ssh-copy-id-\u81EA\u52A8\u90E8\u7F72",children:["\u9009\u62E91\uFF1A\u4F7F\u7528 ",(0,d.jsx)(n.code,{children:"ssh-copy-id"})," \u81EA\u52A8\u90E8\u7F72"]}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679C\u4F60\u7684\u672C\u5730\u673A\u5668\u4E0A\u5B89\u88C5\u4E86 ",(0,d.jsx)(n.code,{children:"ssh-copy-id"}),' \u811A\u672C\uFF08 Windows \u4E0B\u6CA1\u6709\uFF09\uFF0C\u4F60\u53EF\u4EE5\u76F4\u63A5\u5728\u4F60\u7684\u672C\u5730\u673A\u5668\u547D\u4EE4\u884C\u5DE5\u5177\u8FD0\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF08\u7528\u6237\u540D"rookie"\u548C SERVER_IP_ADDRESS \u66FF\u6362\u4E3A\u4F60\u81EA\u5DF1\u7684\uFF09\uFF1A']}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"ssh-copy-id rookie@SERVER_IP_ADDRESS\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5728\u63A5\u4E0B\u6765\u7684 prompt \u6B65\u9AA4\u4E2D\u8F93\u5165\u5BC6\u7801\u540E\uFF0C\u4F60\u7684\u516C\u94A5\u5C31\u4F1A\u88AB\u90E8\u7F72\u4E3A\u670D\u52A1\u5668\u7684 ",(0,d.jsx)(n.code,{children:".ssh/authorized_keys"})," \u6587\u4EF6\u3002"]}),"\n",(0,d.jsx)(n.h4,{id:"\u9009\u62E92\u624B\u52A8\u90E8\u7F72",children:"\u9009\u62E92\uFF1A\u624B\u52A8\u90E8\u7F72"}),"\n",(0,d.jsx)(n.p,{children:"\u5728\u670D\u52A1\u5668\u7AEF\u7684 shell \u4E2D\u8F93\u5165\u4EE5\u4E0B\u547D\u4EE4\u5207\u6362\u4E3A\u521A\u521B\u5EFA\u7684\u7528\u6237\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"su - rookie\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u73B0\u5728\u4F60\u5728shell\u7684\u5F53\u524D\u8DEF\u5F84\u4F1A\u88AB\u5207\u6362\u5230\u8BE5\u7528\u6237\u7684 home directory \u3002"}),"\n",(0,d.jsxs)(n.p,{children:["\u5728\u5F53\u524D\u76EE\u5F55\u4E0B\u521B\u5EFA ",(0,d.jsx)(n.code,{children:".ssh"})," \u76EE\u5F55\u5E76\u4FEE\u6539\u6743\u9650\uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"mkdir .ssh\nchmod 700 .ssh\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u63A5\u7740\u5728 ",(0,d.jsx)(n.code,{children:".ssh"})," \u76EE\u5F55\u4E0B\u521B\u5EFA\u4E00\u4E2A\u540D\u4E3A ",(0,d.jsx)(n.code,{children:"authorized_keys"})," \u7684\u6587\u4EF6\uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"nano .ssh/authorized_keys\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u628A\u516C\u94A5 ",(0,d.jsx)(n.code,{children:"id_rsa.pub"})," \u7684\u5185\u5BB9\u590D\u5236\u5230\u8BE5\u6587\u4EF6\u4E2D\uFF0C\u4FDD\u5B58\u9000\u51FA\u3002\uFF08 ",(0,d.jsx)(n.a,{href:"https://www.nano-editor.org/",children:"nano"})," \u662F Linux \u4E0A\u7684\u547D\u4EE4\u884C\u6587\u672C\u7F16\u8F91\u5668\uFF0C\u5177\u4F53\u4F7F\u7528\u65B9\u5F0F\u8BF7\u81EA\u884C\u641C\u7D22\uFF09"]}),"\n",(0,d.jsx)(n.p,{children:"\u7136\u540E\u4FEE\u6539\u8BE5\u6587\u4EF6\u7684\u6743\u9650\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"chmod 600 .ssh/authorized_keys\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u63A5\u7740\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u56DE\u5230 root \u7528\u6237\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"exit\n"})}
1),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u4E94\u6B65\u914D\u7F6E-ssh-daemon",children:"\u7B2C\u4E94\u6B65\uFF1A\u914D\u7F6E SSH Daemon"}),"\n",(0,d.jsx)(n.p,{children:"\u73B0\u5728\u6211\u4EEC\u5DF2\u7ECF\u521B\u5EFA\u4E86\u4E00\u4E2A\u62E5\u6709 root \u6743\u9650\u7684\u65B0\u7528\u6237\uFF0C\u63A5\u4E0B\u6765\u6211\u4EEC\u9700\u8981\u4FEE\u6539\u670D\u52A1\u5668\u7684 SSH daemon \u914D\u7F6E\uFF0C\u5141\u8BB8\u65B0\u7528\u6237\u4F7F\u7528 SSH \u8FDC\u7A0B\u767B\u5F55\uFF0C\u5E76\u7981\u6B62 root \u7528\u6237\u4F7F\u7528 SSH \u8FDC\u7A0B\u767B\u5F55\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u4E3A\u4EC0\u4E48\u8981\u8FD9\u4E48\u505A\u5462\uFF1F\u56E0\u4E3A root \u7528\u6237\u7684\u7528\u6237\u540D\u662F\u56FA\u5B9A\u7684\uFF0C\u5E76\u4E14\u4F7F\u7528\u5BC6\u7801\u8BA4\u8BC1\u767B\u5F55\uFF0C\u653B\u51FB\u8005\u53EA\u9700\u66B4\u529B\u7834\u89E3\u5BC6\u7801\u8FD9\u4E00\u5C42\u9632\u62A4\u5373\u53EF\uFF1B\u800C\u5982\u679C\u4F7F\u7528\u6211\u4EEC\u65B0\u521B\u5EFA\u7684\u7528\u6237\u8BA4\u8BC1\u767B\u5F55\uFF0C\u6211\u4EEC\u7684\u7528\u6237\u540D\u5BF9\u4E8E\u653B\u51FB\u8005\u800C\u8A00\u4E5F\u662F\u672A\u77E5\u7684\uFF1A\u5982\u679C\u4F7F\u7528\u7528\u6237\u540D+\u5BC6\u7801\u8BA4\u8BC1\uFF0C\u653B\u51FB\u8005\u9700\u8981\u66B4\u529B\u7834\u89E3\u8D26\u53F7\u548C\u5BC6\u7801\u7684\u7EC4\u5408\uFF0C\u96BE\u5EA6\u5927\u5927\u589E\u52A0\uFF1B\u800C\u5982\u679C\u4F7F\u7528\u7528\u6237\u540D+\u5BC6\u94A5\u8BA4\u8BC1\uFF0C\u653B\u51FB\u8005\u8FD8\u9700\u8981\u83B7\u53D6\u5230\u6211\u4EEC\u7684\u79C1\u94A5\u624D\u884C\uFF0C\u96BE\u5EA6\u8FDB\u4E00\u6B65\u52A0\u5927\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u5728\u670D\u52A1\u5668\u7AEF shell \u4E2D\u8F93\u5165\u4EE5\u4E0B\u547D\u4EE4\u7F16\u8F91 SSH daemon \u914D\u7F6E\u6587\u4EF6\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"nano /etc/ssh/sshd_config\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u627E\u5230 ",(0,d.jsx)(n.code,{children:"PermitRootLogin"}),' \u8FD9\u4E00\u884C\uFF0C\u5C06"yes"\u6539\u4E3A"no"\uFF1B\u627E\u5230 ',(0,d.jsx)(n.code,{children:"AllowUsers"})," \u8FD9\u4E00\u884C\uFF08\u5982\u679C\u6CA1\u6709\u5C31\u6DFB\u52A0\uFF09\uFF0C\u6DFB\u52A0\u6211\u4EEC\u4E4B\u524D\u521B\u5EFA\u7684\u65B0\u7528\u6237\u540D\u3002\u6700\u7EC8\u7ED3\u679C\u5982\u4E0B\uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"PermitRootLogin no\nAllowUsers rookie\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u7136\u540E\u4FDD\u5B58\u9000\u51FA\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u91CD\u542F SSH \u670D\u52A1\u6765\u8BA9\u4FEE\u6539\u7684\u914D\u7F6E\u751F\u6548\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"systemctl reload sshd\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u73B0\u5728\u6211\u4EEC\u53EF\u4EE5\u5C1D\u8BD5\u4F7F\u7528\u65B0\u521B\u5EFA\u7684\u7528\u6237\u6765\u901A\u8FC7 SSH \u8FDC\u7A0B\u767B\u5F55\u5230\u6211\u4EEC\u7684\u670D\u52A1\u5668\u4E86\u3002\u4E4B\u540E\u7684\u6B65\u9AA4\u6211\u4EEC\u90FD\u4EE5\u975E root \u7528\u6237\u7684\u8EAB\u4EFD\u6765\u5B8C\u6210\u3002"}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsx)(n.p,{children:"\u4E3A\u4E86\u9632\u6B62\u628A\u81EA\u5DF1\u5173\u5728\u95E8\u5916\uFF0C\u6211\u4EEC\u5148\u4E0D\u767B\u51FA\u5F53\u524D\u7684\u4F1A\u8BDD\uFF0C\u53E6\u5F00\u4E00\u4E2A\u547D\u4EE4\u884C\u5DE5\u5177\u6216\u7B2C\u4E09\u65B9\u5DE5\u5177\uFF0C\u4F7F\u7528\u65B0\u521B\u5EFA\u7684\u7528\u6237\u6765\u5C1D\u8BD5\u767B\u5F55\u3002\u8FD9\u6837\uFF0C\u5982\u679C\u6709\u95EE\u9898\uFF0C\u6211\u4EEC\u5C31\u53EF\u4EE5\u4F7F\u7528\u539F\u5148\u7684\u4F1A\u8BDD\u6765\u6539\u6B63\u9519\u8BEF\u3002"})}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u516D\u6B65\u914D\u7F6E\u9632\u706B\u5899\u63A8\u8350",children:"\u7B2C\u516D\u6B65\uFF1A\u914D\u7F6E\u9632\u706B\u5899\uFF08\u63A8\u8350\uFF09"}),"\n",(0,d.jsxs)(n.p,{children:["\u9632\u706B\u5899\u7684\u4F5C\u7528\u662F\u963B\u6B62\u6240\u6709\u5BF9\u670D\u52A1\u5668\u670D\u52A1/\u7AEF\u53E3\u7684\u8BBF\u95EE\uFF0C\u9664\u4E86\u6211\u4EEC\u5141\u8BB8\u7684\u4E4B\u5916\u3002",(0,d.jsx)(n.code,{children:"CentOS"})," \u9884\u88C5\u4E86\u9632\u706B\u5899 ",(0,d.jsx)(n.code,{children:"firewalld"}
1)," \uFF0C\u901A\u8FC7\u547D\u4EE4\u884C\u5DE5\u5177 ",(0,d.jsx)(n.a,{href:"https://firewalld.org/documentation/man-pages/firewall-cmd.html",children:"firewall-cmd"})," \u6765\u8FDB\u884C\u63A7\u5236\u3002"]}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsxs)(n.p,{children:["\u7531\u4E8E ",(0,d.jsx)(n.code,{children:"firewalld"})," \u8981\u5F00\u542F\u540E\u624D\u80FD\u914D\u7F6E\uFF0C\u5F00\u542F\u540E SSH \u7684\u7AEF\u53E3\u53EF\u80FD\u88AB\u5173\u95ED\uFF0C\u5BFC\u81F4\u65E0\u6CD5\u8FDE\u63A5\u670D\u52A1\u5668\u3002\n\u5EFA\u8BAE\u4F7F\u7528 VPS \u670D\u52A1\u63D0\u4F9B\u5546\u7684\u7F51\u7AD9\u4E0A\u63D0\u4F9B\u7684 root shell \u5DE5\u5177\u8FDB\u884C\u9632\u706B\u5899\u914D\u7F6E\uFF0C\u6216\u8005\u5728\u5F00\u542F ",(0,d.jsx)(n.code,{children:"firewalld"})," \u4E4B\u524D\u4F7F\u7528 ",(0,d.jsx)(n.a,{href:"https://firewalld.org/documentation/man-pages/firewall-offline-cmd.html",children:"firewall-offline-cmd"})," \u8FDB\u884C\u914D\u7F6E\u3002"]})}),"\n",(0,d.jsxs)(n.p,{children:["\u5F00\u542F\u9632\u706B\u5899\u670D\u52A1 ",(0,d.jsx)(n.code,{children:"firewalld"})," \uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo systemctl start firewalld\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u5C06\u9632\u706B\u5899\u670D\u52A1\u8BBE\u7F6E\u4E3A\u5F00\u673A\u8FD0\u884C\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo systemctl enable firewalld\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u8BBE\u7F6E\u5141\u8BB8 SSH \u670D\u52A1\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo firewall-cmd --permanent --add-service=ssh\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u5982\u679C\u4F60\u7684 SSH \u670D\u52A1\u4F7F\u7528\u7684\u4E0D\u662F\u9ED8\u8BA4\u7AEF\u53E3\uFF0822\uFF09\uFF0C\u5219\u6539\u7528\u5982\u4E0B\u547D\u4EE4\uFF08\u7AEF\u53E3\u6539\u4E3A\u4F60\u81EA\u5DF1\u7684\u503C\uFF09\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo firewall-cmd --permanent --add-port=4444/tcp\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5176\u4ED6\u9700\u8981\u4F7F\u7528\u7684\u670D\u52A1\u4E5F\u662F\u540C\u6837\u64CD\u4F5C\uFF0C\u4F8B\u5982 ",(0,d.jsx)(n.code,{children:"http"}),"\u3001",(0,d.jsx)(n.code,{children:"https"}),"\u3001",(0,d.jsx)(n.code,{children:"smtp"}),"\u3001",(0,d.jsx)(n.code,{children:"ntp"})," \u7B49\uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo firewall-cmd --permanent --add-service=http\nsudo firewall-cmd --permanent --add-service=https\nsudo firewall-cmd --permanent --add-service=smtp\nsudo firewall-cmd --permanent --add-service=ntp\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u67E5\u770B\u6240\u6709\u53EF\u7528\u7684\u670D\u52A1\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo firewall-cmd --get-services\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u67E5\u770B\u670D\u52A1\u5668\u5F53\u524D\u6D3B\u8DC3\u7684\u7AEF\u53E3\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo netstat -tulnp\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u67E5\u770B\u5F53\u524D\u914D\u7F6E\u7684\u7ED3\u679C\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo firewall-cmd --permanent --list-all\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u786E\u5B9A\u914D\u7F6E\u6CA1\u95EE\u9898\u540E\uFF0C\u91CD\u65B0\u52A0\u8F7D\u914D\u7F6E\uFF0C\u4F7F\u5176\u751F\u6548\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo firewall-cmd --reload\n"})}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsx)(n.p,{children:"\u4ECA\u540E\u5982\u679C\u4F60\u8981\u4F7F\u7528\u65B0\u7684\u670D\u52A1\u6216\u8005\u5F00\u542F\u65B0\u7684\u7AEF\u53E3\uFF0C\u90FD\u8981\u5728\u9632\u706B\u5899\u6DFB\u52A0\u914D\u7F6E\u3002"})}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u4E03\u6B65\u8BBE\u7F6E\u65F6\u533A\u548C\u65F6\u95F4\u540C\u6B65\u63A8\u8350",children:"\u7B2C\u4E03\u6B65\uFF1A\u8BBE\u7F6E\u65F6\u533A\u548C\u65F6\u95F4\u540C\u6B65\uFF08\u63A8\u8350\uFF09"}),"\n",(0,d.jsx)(n.p,{children:"\u4FDD\u8BC1\u670D\u52A1\u5668\u7684\u65F6\u95F4\u51C6\u786E\uFF0C\u624D\u80FD\u4E3A\u6211\u4EEC\u540E\u7EED\u7684\u5E94\u7528\u63D0\u4F9B\u6B63\u786E\u7684\u670D\u52A1\u3002"}),"\n",(0,d.jsx)(n.h3,{id:"\u8BBE\u7F6E\u65F6\u533A",children:"\u8BBE\u7F6E\u65F6\u533A"}),"\n",(0,d.jsxs)(n.p,{children:["\u6211\u4EEC\u4F7F\u7528\u547D\u4EE4\u884C\u5DE
15\u5177 ",(0,d.jsx)(n.code,{children:"timedatectl"})," \u6765\u8BBE\u7F6E\u65F6\u533A\u3002"]}),"\n",(0,d.jsx)(n.p,{children:"\u67E5\u770B\u5F53\u524D\u8BBE\u7F6E\u7684\u65F6\u533A\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"timedatectl\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u67E5\u770B\u53EF\u7528\u65F6\u533A\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"timedatectl list-timezones\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u8BBE\u7F6E\u65F6\u533A\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo timedatectl set-timezone Asia/Shanghai\n"})}),"\n",(0,d.jsx)(n.h3,{id:"\u914D\u7F6E\u65F6\u95F4\u540C\u6B65",children:"\u914D\u7F6E\u65F6\u95F4\u540C\u6B65"}),"\n",(0,d.jsxs)(n.p,{children:["\u6211\u4EEC\u4F7F\u7528 ",(0,d.jsx)(n.code,{children:"ntp"})," \u670D\u52A1\u6765\u540C\u6B65\u65F6\u95F4\u3002\u9996\u5148\u5B89\u88C5 ",(0,d.jsx)(n.code,{children:"ntp"})," \u670D\u52A1\uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo yum install ntp\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u7136\u540E\u8FD0\u884C\u8BE5\u670D\u52A1\u5E76\u8BBE\u7F6E\u5F00\u673A\u542F\u52A8\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo systemctl start ntpd\nsudo systemctl enable ntpd\n"})}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsx)(n.p,{children:"\u522B\u5FD8\u4E86\u5728\u9632\u706B\u5899\u8BBE\u7F6E\u4E2D\u6DFB\u52A0\u5141\u8BB8\u8BE5\u670D\u52A1\u3002"})}),"\n",(0,d.jsx)(n.p,{children:"\u8FD9\u6837\u4F60\u7684\u670D\u52A1\u5668\u5C31\u4F1A\u81EA\u52A8\u6821\u51C6\u65F6\u95F4\u4E86\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u7B2C\u516B\u6B65\u521B\u5EFA-swap-\u5206\u533A",children:"\u7B2C\u516B\u6B65\uFF1A\u521B\u5EFA SWAP \u5206\u533A"}),"\n",(0,d.jsx)(n.p,{children:"\u5185\u5B58(RAM)\u4E0D\u591F\uFF0C\u78C1\u76D8(SWAP)\u6765\u51D1\u3002\u521B\u5EFA\u4E00\u4E2A\u5408\u7406\u5927\u5C0F\u7684 SWAP \u5206\u533A\u80FD\u591F\u964D\u4F4E\u4F60\u7684\u5E94\u7528\u5D29\u6E83\u6216\u8FDB\u7A0B\u88AB\u6740\u7684\u51E0\u7387\uFF0C\u5C24\u5176\u662F\u6570\u636E\u5E93\u5E94\u7528\u3002 SWAP \u5206\u533A\u5EFA\u8BAE\u5BB9\u91CF\u4E3A RAM \u7684 100%~200%\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u67E5\u770B\u7CFB\u7EDF\u662F\u5426\u5DF2\u6709 SWAP \u5206\u533A\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"swapon --show\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u5982\u679C\u6CA1\u6709\uFF0C\u5219\u5148\u521B\u5EFA\u4E00\u4E2A\u6587\u4EF6\u4F9B SWAP \u4F7F\u7528\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo fallocate -l 1G /swapfile\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u4FEE\u6539\u8BE5\u6587\u4EF6\u7684\u6743\u9650\uFF0C\u53EA\u6709 root \u7528\u6237\u53EF\u8BFB\u5199\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo chmod 600 /swapfile\n"})}),"\n",(0,d.jsx)(n.p,{children:"SWAP \u683C\u5F0F\u5316\u8BE5\u6587\u4EF6\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo mkswap /swapfile\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u4F7F\u7528\u8BE5\u6587\u4EF6\u4F5C\u4E3A SWAP \u5206\u533A\uFF1A"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo swapon /swapfile\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u4FEE\u6539 ",(0,d.jsx)(n.code,{children:"/etc/fstab"})," \u6587\u4EF6\uFF0C\u4EE5\u4FBF\u5F00\u673A\u81EA\u52A8\u6302\u8F7D\u8BE5 SWAP \u5206\u533A\uFF1A"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo sh -c 'echo \"/swapfile none swap sw 0 0\" >> /etc/fstab'\n"})}),"\n",(0,d.jsx)(n.h2,{id:"\u603B\u7ED3",children:"\u603B\u7ED3"}),"\n",(0,d.jsxs)(n.p,{children:["\u597D\u4E86\uFF0C\u4E00\u8DEF\u8FC7\u5173\u65A9\u5C06\uFF0C\u5B8C\u6210\u8FD9\u4E9B\u6B65\u9AA4\u4E4B\u540E\uFF0C\u6211\u4EEC\u7684\u670D\u52A1\u5668\u5C31\u505A\u597D\u51C6\u5907\u53EF\u4EE5\u5F00\u59CB\u5DE5\u4F5C\u5566\u3002\u65E0\u8BBA\u662F\u5EFA\u7AD9\u3001",(0,d.jsx)(n.a,{href:"/docs/notes/develop/over-gfw-guide",children:"\u79D1\u5B66\u4E0A\u7F51"}),"\uFF0C\u63A5\u4E0B\u6765\u8FD8\u6709\u66F4\u591A\u597D\u73A9\u7684\u4E1C\u897F\u7B49\u7740\u4F60\u53BB\u63A2\u7D22\u3002"]}),"\n",(0,d.jsx)(n.h2,{id:"\u53C2\u8003",children:"\u53C2\u8003"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7",children:"Initial Server Setup with CentOS 7"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers",children:"Additional Recommended Steps for New CentOS 7 Servers"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/beginners-guide-firewalld",children:"A beginner\u2019s guide to firewalld in Linux"})}),"\n"]})]})}function t(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(o,{...e})}):o(e)}},28453(e,n,s){s.d(n,{R:()=>r,x:()=>c});var l=s(96540);let d={},i=l.createContext(d);function r(e){let n=l.useContext(i);return l.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),l.createElement(i.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.