自建代理 IP 时服务器这一头的准备顺序:先走通 SSH 登录,再改端口、换密钥登录,做基础加固,接着装代理服务并放行端口,最后从客户端接入验证。
买一台云服务器当代理用,卡住人的地方很少在连通性本身,多半在服务器这一头的准备顺序上。顺序对了,客户端那步基本一次通过;顺序乱了,就得反复切回终端改配置。
这里只讲服务器侧:从第一次登录、把入口收紧,到代理服务跑起来、端口放行、客户端能接上,以及接不上时怎么分层找原因。
第一次登录,先把入口走通
实例创建好之后,先用服务商控制台自带的网页终端登录,不要一上来就依赖本地工具。这一步只为确认机器活着、网络通。
进去后切换到 root,执行 sudo -i 回车,提示符从 $ 变成 # 就是提权成功,后面的操作都在这个身份下做。
顺手把四样信息记下来:公网 IP、登录用户名(Linux 默认是 root)、密码、SSH 端口(默认 22)。客户端接入时填的就是这四项,缺一项都接不上。
把默认端口换掉,再换成密钥登录
22 端口每天被扫描无数次,撞库尝试是常态。改端口不会让服务器变强,但能过滤掉绝大部分自动化噪音。
改动落在 /etc/ssh/sshd_config。用 vi 打开,按 i 进入编辑模式,把 PermitRootLogin 和 PasswordAuthentication 两行改成 yes,按 Esc 后输入 :wq 保存退出。如果服务商支持密钥登录,更稳的做法是把本地公钥写进服务器的 authorized_keys,再把 PasswordAuthentication 改成 no,只留密钥。
改完配置不要立刻退出当前会话,先另开一个终端窗口,用新端口和新方式登录一次,确认进得去,再关掉旧窗口。否则配置写错就把自己锁在门外,只能回控制台救。
端口改的是 Port 那一行,改完重启 SSH 服务让配置生效,Debian 与 Ubuntu 系可以执行 /etc/init.d/ssh restart。
开机当天就把基础加固做掉
除了换端口和密钥,还有两件小事适合开机当天处理完。一是给 root 设一个足够长的随机密码(passwd root),别用能猜到的组合;二是关掉用不到的服务与端口,机器上跑的东西越少,暴露面越小,系统防火墙只放行真正要用的端口。
如果这台机器长期只服务固定的几个出口,可以在安全组里把来源地址限制到这几处,比全网开放安全得多。
装代理服务并配置认证
服务器侧初始化做完,再考虑代理本身。
一条路是直接用 SSH 通道,服务器上什么都不用装,客户端借助系统自带的 SSH 服务做转发,凭据就是服务器那套账号密码。省事,但性能一般,并发一多就吃力,适合临时用或账号很少的情况。
另一条是在服务器上装专门的代理服务,通常一条安装命令就能装好,然后自己配认证方式和监听端口。装完记得设为开机自启,否则服务器重启一次,代理就跟着没了。
认证有三档,安全性依次上升:账号密码最省事,泄露等于把代理交出去;密码加来源 IP 白名单,日常够用;密钥或证书认证最稳,配置麻烦一点,长期跑的账号值得花这点时间。
端口要在两个地方分别放行
这是最容易卡住的地方。代理服务的监听端口,需要在系统防火墙和服务商的安全组里各放行一次,两处彼此独立,只放行一处就是连不上。
还有一个位置容易忽略:服务的监听地址。有些服务默认只绑 127.0.0.1,在服务器本机测试是通的、从外面连不上,多半就是这个原因。把监听地址改成服务器内网地址或 0.0.0.0 即可。
从本地客户端接进来
在环境管理工具里新建一个环境,代理类型按实际填。走 SSH 通道的话,地址就是服务器公网 IP,端口填 SSH 端口,用户名和密码是服务器那套。填完点一下检测。
检测通过只说明链路通了,还要打开这个环境确认三件事:出口 IP 是不是服务器的公网 IP,DNS 有没有跟着走代理(DNS 仍在本地解析的话,暴露的地区信息和出口 IP 对不上),时区与语言是否和出口地区一致。三项都过了,这个环境才算能用。
账号多起来之后,要把环境和出口的对应关系固定住,避免几个账号共用一个环境。PurpleMark 这类工具可以给每个账号单独绑定出口,比手工维护一张对照表稳一些。
接不上时,从外往里分层查
先看最外层:安全组放行了吗,系统防火墙放行了吗。这两处确认过再往下。
接着看服务本身:进程还在不在,重启过服务器的话尤其要查;监听地址是不是只绑了本地。
再往里是认证层:用户名密码有没有填错,密钥文件的权限是不是过宽(权限不对 SSHD 会直接拒绝)。最后才是客户端那一侧:地址填的是公网 IP 还是内网 IP,这里最容易填混。
按这个顺序走,通常两三轮就能定位到问题在哪一层,而不是一遍遍重装服务。
收尾
服务器侧的准备工作花不了半小时,但它决定这台机器后面几个月省不省心。入口收紧、端口放行做对、认证配清楚,剩下的就只是日常维护了。


