哈密市网站建设_网站建设公司_数据备份_seo优化
2026/1/6 17:13:25 网站建设 项目流程

SSH 简介及两种远程登录的方法

SSH 简介

SSH(Secure Shell,安全外壳协议)是一种加密的网络传输协议,用于在不安全的网络中为远程登录和其它网络服务提供安全保障。它由 IETF(互联网工程任务组)制定,目前最常用的是 SSH-2 版本(SSH-1 已废弃,因存在安全漏洞)。

核心特点

  • 加密通信:所有数据(包括用户名、密码、命令、文件传输)均加密传输,防止中间人窃听。
  • 身份验证:支持多种认证方式(密码、公钥等)。
  • 功能丰富:除了远程登录,还支持端口转发、X11 转发、SCP/SFTP 文件传输等。
  • 替代 Telnet 和 rlogin:Telnet 等旧协议明文传输,极不安全,已被 SSH 完全取代。

常见应用场景

  • 远程管理 Linux/Windows 服务器
  • 安全文件传输(配合 scp/sftp)
  • 内网穿透、跳板机
  • Git 远程仓库操作(git@github.com)

端口:默认 22(可自定义修改)

SSH 远程登录的两种主要方法

SSH 客户端登录服务器时,主要有两种认证方式

方法一:密码认证(Password Authentication,最简单)

原理:用户输入服务器上已设置的账户密码进行验证。

优点

  • 配置简单,无需额外准备。
  • 适合临时或初次登录。

缺点

  • 密码易被暴力破解(尤其是弱密码)。
  • 不适合自动化脚本(需交互输入密码)。

使用示例(Linux/macOS/Windows 10+ 自带 OpenSSH 客户端):

sshusername@server_ip# 示例sshroot@192.168.1.100# 或指定端口ssh-p2222user@example.com

首次连接会提示服务器指纹验证:

The authenticity of host '192.168.1.100' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)?

输入yes后,会将服务器公钥保存到本地~/.ssh/known_hosts

然后输入密码即可登录。

方法二:公钥认证(Public Key Authentication,最安全推荐)

原理

  1. 用户在本地生成一对密钥:私钥(id_rsa,保密)和公钥(id_rsa.pub)。
  2. 将公钥上传到服务器的~/.ssh/authorized_keys文件中。
  3. 登录时,服务器用公钥验证本地私钥是否匹配,无需输入密码。

优点

  • 极高安全性(私钥不传输)。
  • 支持免密码登录,适合自动化脚本、Git 等。
  • 防止暴力破解。

缺点

  • 初次配置稍复杂。
  • 私钥丢失需重新配置。

配置步骤(以 Linux/macOS 为例):

  1. 本地生成密钥对(若已有可跳过):

    ssh-keygen-ted25519-C"your_email@example.com"# 或兼容性更好的 rsa(至少 3072 位)# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    默认保存在~/.ssh/id_ed25519~/.ssh/id_ed25519.pub

  2. 将公钥上传到服务器(两种方式任选):

    方式A:使用 ssh-copy-id(最方便)

    ssh-copy-id username@server_ip

    会自动将公钥追加到服务器的~/.ssh/authorized_keys

    方式B:手动上传

    # 本地查看公钥cat~/.ssh/id_ed25519.pub# 复制内容,登录服务器(用密码方式)sshusername@server_ip# 在服务器上创建目录并写入mkdir-p~/.sshecho"你的公钥内容">>~/.ssh/authorized_keyschmod700~/.sshchmod600~/.ssh/authorized_keys
  3. 登录测试(无需密码):

    sshusername@server_ip

    直接进入,无需输入密码。

种方法对比总结
项目密码认证公钥认证
安全性中等(易被暴力破解)高(私钥不传输)
配置难度简单稍复杂(需生成密钥)
是否需要交互需要输入密码无需密码(可自动化)
推荐场景临时登录、初次配置生产环境、日常管理、脚本
是否推荐长期使用不推荐强烈推荐
安全建议

掌握这两种方法,你就能安全高效地管理远程服务器了!推荐所有服务器都配置公钥认证。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询