惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
Forbes - Security
Forbes - Security
The Last Watchdog
The Last Watchdog
F
Full Disclosure
GbyAI
GbyAI
G
Google Developers Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
C
Check Point Blog
S
Security @ Cisco Blogs
H
Help Net Security
N
News | PayPal Newsroom
D
DataBreaches.Net
L
LINUX DO - 最新话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
U
Unit 42
WordPress大学
WordPress大学
月光博客
月光博客
Security Latest
Security Latest
V
V2EX
Schneier on Security
Schneier on Security
美团技术团队
Y
Y Combinator Blog
G
GRAHAM CLULEY
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Securelist
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
P
Proofpoint News Feed
O
OpenAI News
Cisco Talos Blog
Cisco Talos Blog
Martin Fowler
Martin Fowler
N
News and Events Feed by Topic
小众软件
小众软件
S
Schneier on Security
Webroot Blog
Webroot Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
T
Threatpost
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Scott Helme
Scott Helme
N
Netflix TechBlog - Medium
有赞技术团队
有赞技术团队
W
WeLiveSecurity
S
SegmentFault 最新的问题
Cloudbric
Cloudbric
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence

博客园 - wenha

代码行统计工具 大模型基础(六):从聊天机器人到智能体-大模型的下一站 大模型基础(五):RAG入门-让大模型学会"开卷考试" 大模型基础(四):强化学习入门-从斯金纳箱到大模型推理 大模型基础(三):大模型是怎么炼成的-从预训练到强化学习的完整流程 数据库隔离级别 踩坑记录:UTF-8、UTF-8-BOM 与 GB2312 读取的乱码真相 大模型基础(二):必懂5大基础概念《Token、上下文窗口、Embedding、预训练、微调》 大模型基础(一):什么是LLM? 告别玄学调参:Agent 稳定落地的核心——Harness Engineering 体验优先:十分钟使用 Python+LangChain 玩转阿里通义千问 运维工具之Ansible详解(一) 运维工具之Ansible详解(二) 自建K8S集群认证过期 单点登录的设计与实现思路 (三)Dockerfile基础 (二)Docker镜像、容器、数据卷 (一)Docker简介 Go语言学习笔记(四) Go语言学习笔记(三) Redis学习笔记(一)配置文件参数说明 Go语言学习笔记(二) CentOS上安装RabbitMQ CentOS上安装Redis NodeJS学习笔记(一) JavaScript的发展史 用户中心 - 博客园
Linux之SSH远程登录
wenha · 2026-05-06 · via 博客园 - wenha

Linux远程登录

一、密码认证

正常登录Linux常用的秘密认证登录方式

ssh 用户名@IP地址 -p 端口号

随后在后续的对话框中再输入密码,才能正常进入Linux系统
缺点: 每次登录都要输入密码,密码不可见,很容易输入错误

二、公私钥认证免密登录

1. 生成公私钥对

ssh-keygen -N "" -b 4096 -t rsa -f /root/.ssh/ansible_rsa

输出如下(由于我本地已经生成了公私钥对,重新生成会有是否覆盖提示):

Generating public/private rsa key pair.
/root/.ssh/ansible_rsa already exists.
Overwrite (y/n)? y
Your identification has been saved in /root/.ssh/ansible_rsa.
Your public key has been saved in /root/.ssh/ansible_rsa.pub.
The key fingerprint is:
SHA256:uDu3wsz4yVlRGqITo12ft2Kizbz5Qtg0MIeO+lZ3W2M root@192-168-158-100-RedHat-7
The key's randomart image is:
+---[RSA 4096]----+
|     .           |
|    + .          |
|   oo+o . .      |
|  .o.=o+ =       |
| .. ++..S .      |
|.   o.+..oE.     |
| . . Bo.++..     |
|  o .*BOo.       |
| .  ..%Bo.       |
+----[SHA256]-----+

查看/root/.ssh目录,可以看到如下两个文件:

[root@192-168-158-100-RedHat-7 .ssh]# ll
total 16
-rw-r--r-- 1 root root 3243 Jan 26 17:37 ansible_rsa
-rw-r--r-- 1 root root  754 Jan 26 17:37 ansible_rsa.pub

  • ansible_rsa: 私钥,保密,不分享
  • ansible_ras.pub:公钥,上传到Linux平台

2. 把公钥传到 Linux(两种方法)

方法A:一键上传(推荐)

ssh-copy-id 用户名@LinuxIP
# 例:ssh-copy-id root@172.16.158.100

输入一次 Linux 密码,自动追加到 ~/.ssh/authorized_keys

方法B:手动复制

  1. 查看公钥内容:
type $env:USERPROFILE\.ssh\ansible_ras.pub

复制整行(以 ssh-ed25519 AAAAC3Nza... 开头)

  1. 登录 Linux,创建/写入授权文件:
# 登录
ssh 用户名@LinuxIP

# 新建 .ssh 目录并设权限
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# 写入公钥(粘贴刚才复制的整行)
nano ~/.ssh/authorized_keys
# 粘贴后:Ctrl+O → 回车 → Ctrl+X

# 关键权限!否则免密失败
chmod 600 ~/.ssh/authorized_keys

3. Linux 端确认 SSH 配置

sudo vi /etc/ssh/sshd_config

确保有:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# PasswordAuthentication no  # 可选:禁用密码登录(安全)

重启 SSH:

# Ubuntu/Debian
sudo systemctl restart ssh

# CentOS/RHEL
sudo systemctl restart sshd

4. 测试免密(Windows PowerShell)

ssh 用户名@LinuxIP

直接登录,不提示密码 → 成功


三、常见坑(免密仍要密码)

  1. Linux 权限不对(最常见)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  1. authorized_keys 有空行/换行/多空格 → 重新粘贴一整行;
  2. sshd_config 没开 PubkeyAuthentication yes → 改完重启 sshd;
  3. 防火墙/安全组拦截 22 端口 → 放行。