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

SSH 完全简介 + 两种远程登录方式详解(2025最新版)

SSH(Secure Shell)是目前最安全、最常用的远程登录协议,几乎所有服务器(Linux、路由器、交换机、NAS、云主机)都默认只开 22 端口 SSH。

一、SSH 是什么?为什么必须用它?

项目Telnet / rloginSSH(Secure Shell)
是否加密明文传输(密码全露)全程强加密(AES、ChaCha20 等)
安全性极差(随时被中间人截获)极高(防窃听、防篡改、防伪造)
端口2322
当前状态2025年已彻底淘汰全球事实标准(OpenSSH 占 95%+)

一句话:现在只要用 Telnet 登录服务器,等于把密码贴在互联网上喊

二、SSH 两种最常见的远程登录方式(99%场景都用这俩)

登录方式适用场景安全性方便程度配置难度
方式1:密码登录临时测试、新手、云主机默认中等(密码强则安全)★★★★★几乎为0
方式2:密钥登录生产环境、自动化脚本、Git、跳板机极高(无密码泄露风险)★★★★☆稍高
方式1:密码登录(最简单,适合入门)
# 格式
ssh 用户名@服务器IP

# 示例
ssh root@123.45.67.89
ssh ubuntu@192.168.1.100

# 常用参数
ssh -p 2222 root@1.1.1.1         # 指定端口(非22)
ssh -o StrictHostKeyChecking=no user@host   # 首次登录自动信任(脚本用)

缺点:密码弱会被暴力破解
2025年推荐:所有密码登录强制配合 Fail2Ban 或 阿里云/腾讯云的“安全组 + 密码复杂度检测”

方式2:密钥登录(公钥认证)——生产必备!

原理:你电脑放私钥,服务器放公钥,私钥不离身,永不传密码!

一步步教你配置(5分钟搞定)
  1. 本地生成密钥对(只做一次)
ssh-keygen -t ed25519 -C "your_email@example.com"   # 推荐 ed25519(最安全)
# 或者老服务器用 rsa
ssh-keygen -t rsa -b 4096

# 回车后会在 ~/.ssh/ 生成:
# id_ed25519        → 私钥(死都不传!)
# id_ed25519.pub    → 公钥(可以随便发)
  1. 把公钥上传到服务器(最常用3种方法)

方法A(最快):ssh-copy-id(推荐)

ssh-copy-id user@server_ip
# 第一次会问一次密码,之后永远免密

方法B:手动复制(适合第一次连不上时)

# 本地查看公钥
cat ~/.ssh/id_ed25519.pub

# 复制出来,登录服务器后执行:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "你的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

方法C:多台服务器批量分发(运维神器)

# 写个脚本循环 ssh-copy-id 就行
  1. 现在就可以免密登录了!
ssh user@server_ip        # 直接进!不用输密码
  1. 生产环境再加这几招(安全拉满)
# 服务器端 /etc/ssh/sshd_config 修改后重启 sshd
PasswordAuthentication no      # 彻底禁用密码登录
PubkeyAuthentication yes
PermitRootLogin no             # 禁止 root 直接登录
AllowUsers alice bob            # 只允许指定用户登录

# 改个高位端口(防暴力扫描)
Port 22222
终极对比表
项目密码登录密钥登录(推荐)
是否需要输密码每次都要永久免密
密码泄露风险
被暴力破解风险高(Fail2Ban 可缓解)几乎为0
支持自动化脚本差(需 expect)完美(直接 ssh 命令)
Git/GitHub 拉代码每次问密码一劳永逸
跳板机/堡垒机场景麻烦天生支持
额外福利:2025年最强组合(安全+方便)
# 1. 用 ed25519 或 rsa 4096 生成密钥
# 2. 服务器禁用密码登录
# 3. 私钥再加 passphrase(口令)保护
# 4. 用 ssh-agent 或 1Password/keepass 记住 passphrase
# 5. 配置 ~/.ssh/config 实现一键登录

# 示例 config:
Host prod
    HostName 123.45.67.89
    User root
    Port 22222
    IdentityFile ~/.ssh/mykey_ed25519

# 之后只敲:ssh prod   就进去了!

总结一句话:
2025年,任何生产服务器只要还开着密码登录,就是在裸奔!
赶紧把所有服务器改成密钥登录吧,5分钟的事,安全提升100倍!

需要我给你一个“一键脚本”自动把100台服务器改成密钥登录 + 禁用密码 + 改端口,直接说一声!

文章已创建 3096

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部