什么是 SSH?

SSH 是 Secure Shell 的缩写,是管理员通过加密连接登录服务器和网络设备的标准方式。几乎每台 Linux 服务器都是通过它来管理的。

与工程师沟通 知识库
示意图:管理员使用密钥对,通过加密的 SSH 会话连接到服务器

它是什么

SSH 为管理员提供远程机器上的命令行。通过该连接发送的所有内容都经过加密,包括登录过程本身。它取代了 Telnet 等较早的工具,后者以明文发送密码。常用的实现是 OpenSSH,它随 Linux、macOS 和当前版本的 Windows 一同提供。服务器默认在 22 端口监听 SSH。

同一个连接不仅能运行命令,还可以复制文件(SCP 和 SFTP),并通过加密隧道传送其他流量。Git 和 Ansible 等工具的底层就使用 SSH。

用密钥代替密码

SSH 可以用密码登录,但更好的方法是使用密钥对。私钥保存在管理员的电脑上,绝不会发送到任何地方。与之匹配的公钥放在服务器上。登录时,服务器会验证登录者是否持有私钥。密钥不会像密码那样被猜出来,而且每位管理员都有自己的密钥,因此可以逐个人地撤销访问权限。

为什么它对企业重要

  • 服务器就是这样运行的:Linux 服务器、防火墙和交换机上的更新、修复和配置都通过 SSH 进行。
  • 它是攻击目标:任何可以从互联网访问的 SSH 服务器,都会不断遭到自动化的密码猜测扫描。
  • 访问权限需要有人负责:某人离职后留在服务器上的密钥仍然有效。必须有人维护谁可以登录的名单。

良好做法

  • 只用密钥:密钥就位后,关闭密码登录。
  • 禁止直接以 root 登录:管理员以自己的身份登录,并在需要时提升权限,这样日志就能显示谁做了什么。
  • 不要暴露在公开互联网上:通过 VPN 或 Tailscale、WireGuard 这样的专用网络访问 SSH,或者在防火墙上将其限制为已知地址。
  • 保护好私钥:为它设置口令,或者把它保存在硬件安全密钥上。
  • 人员离职时删除密钥:把它作为离职流程的一部分。

KawaConnect 如何使用 SSH

我们通过 SSH 管理所负责的 Linux 服务器、防火墙和网络设备,采用基于密钥的登录,并且不让远程访问向互联网敞开。访问权限有文档记录,因此客户可以看到谁能够访问其系统。这属于我们 Linux 服务器支持和网络安全工作的一部分。

相关服务

Linux 服务器支持

服务器的管理、补丁、监控和备份。

网络安全

不会让管理端口敞开的远程访问。

网络与防火墙

防火墙和交换机的配置及文档记录。

了解更多

不确定谁能登录您的服务器

请告诉我们您运行着什么。我们会检查远程访问是如何设置的,以及谁持有密钥。

开始沟通