SEO 百科
SSH
本页目录
SSH
SSH 是一个网络协议,用来在不安全的网络上进行安全远程登录和其他安全网络服务[1]。站长日常用它登录服务器、改配置文件、上传网页[2][4]。SSH 本身是一条运维通道,搜索引擎不会通过它抓取页面,但站长在里面的操作会改变服务器对外的样子,改坏配置就可能让整站返回错误状态码[5]。
协议的分层构成
SSH 协议由三个主要部分组成[1]。
这三层叠起来,就是通常所说的 SSH。OpenSSH 是其中最常用的一套实现,站长在命令行里打的 ssh、scp、sshd 都是它的组成部分。
站长的日常用途
ssh 是 OpenSSH 的远程登录客户端,用来登录远程主机,并在上面执行命令[2]。连接目标写成 [user@]hostname,也可以写成 ssh://[user@]hostname[:port][2]。站长最常用的三种操作是登录服务器、在服务器上改配置文件、把网页传上去。
ssh user@example.com
scp ./dist/*.html user@example.com:/var/www/example/
scp 在 ssh 连接之上用 SFTP 协议传输文件,认证方式和登录会话一样[4]。服务器那一侧跑的是 sshd,它在后台监听连接,默认端口是 22,每来一个连接就派生一个进程处理密钥交换、加密、认证和命令执行[3]。
与网站运行的关系
SSH 本身不面向搜索引擎。抓取工具通过 HTTP 和 HTTPS 访问网页,不会走 SSH 端口,所以 SSH 服务是否可用,不直接决定页面能不能被收录。
改动服务器就是改动网站对外的样子。站长通过 SSH 登录后,改的是 Web 服务器配置、文件权限和部署的文件。这些东西决定网站对外返回什么,一旦改错,结果就直接落在抓取上。
误操作与抓取后果
最常见的后果来自 Web 服务器配置被改坏。以 Nginx 为例,配置里少一个分号就可能让服务无法加载。改动以后先用 nginx -t 检查语法,通过再重载。
nginx -t
systemctl reload nginx
如果跳过检查、直接把有语法错误的配置重载或重启,Nginx 可能起不来。如果配置语法通过,却把上游地址或根目录指错,反向代理会返回 502 或 504。两种情况都会让整站返回 5xx。
Google 说明过 5xx 的后果:5xx 和 429 服务器错误会让抓取工具暂时减慢抓取速度,已经编入索引的网址仍留在索引里,但最终会被丢弃[5]。一次配置失误会连累整站的抓取,代价不只是访客打不开页面,还包括已有排名的流失。
常见误用
- 在生产服务器上直接改配置,不先做语法检查。因为改动一上线就影响真实访问,若抓取工具在这段时间抓取,拿到的就是 5xx。
- 用密码登录并长期保留 root 直连。密码可以被反复试探,账号一旦失守,网站内容和页面都可能被改,问题同样落到抓取和收录上。
- 改错 SSH 端口或防火墙规则,把自己也挡在外面。恢复期间服务中断,页面同样返回错误。
- 认为 SSH 与 SEO 无关,忽略它是服务器改动的入口。
附录
参见
参考资料
官方(境外)
- 《The Secure Shell (SSH) Protocol Architecture》,IETF,2006-01。
- 《ssh — OpenSSH remote login client》,OpenBSD 手册页。
- 《sshd — OpenSSH daemon》,OpenBSD 手册页。
- 《scp — OpenSSH secure file copy》,OpenBSD 手册页,2025-10-04。
- 《How HTTP status codes affect Google's crawlers》,Google。
外部链接
无。