news 2026/8/6 16:57:43

ssh远程连接服务器教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ssh远程连接服务器教程

ssh远程连接服务器教程

检查是否已有 SSH 密钥

首先,你需要确认本地是否已经生成了 SSH 密钥。如果没有,可以按照以下步骤生成。

生成 SSH 密钥(如果没有)
  1. 打开终端(命令行),然后输入以下命令来生成新的 SSH 密钥对:

    ssh-keygen-trsa-b4096-C"your_email@example.com"

    这里的your_email@example.com是你 GitHub 注册账户的邮箱。

  2. 然后会提示你选择保存密钥的路径,一般直接按回车键,默认路径是~/.ssh/id_rsa

  3. 如果提示设置密码(passphrase),你可以选择为空,或者设置一个密码。

  4. 完成后,你的 SSH 密钥会生成在~/.ssh/目录下:

    • 公钥:id_rsa.pub
    • 私钥:id_rsa

文件作用
configSSH 连接配置文件,可以给不同服务器设置别名、私钥路径、端口、用户名,直接ssh 别名就能连接,不用每次敲一长串参数
id_rsaRSA 私钥,极其重要,不能泄露,用来身份认证,不要发给别人
id_rsa.pubRSA 公钥​,可以公开,把它内容写到服务器~/.ssh/authorized_keys,实现免密登录
known_hosts已知主机清单。第一次连服务器会把服务器公钥存这里,防止中间人攻击;服务器重装系统后会报密钥冲突
known_hosts.oldknown_hosts 的备份旧文件,更新 known_hosts 时自动生成
lihe1.id_rsa自定义命名的私钥文件,多套密钥场景使用,一般在 config 里指定使用这个私钥连接特定服务器
其中id_rsa与id_rsa.pub就是我们生成的密钥对

服务器端

这里我以宝塔运维的文件管理面板为例

文件功能说明权限(图中)
.authorized_keys.swpvim 编辑authorized_keys产生的临时交换文件,编辑异常残留,可以直接删除600/root
authorized_keys✅​核心文件​,存放所有客户端的​公钥 (.pub 内容)​。客户端私钥匹配这里的公钥,即可免密登录服务器。权限必须严格600,权限过大 SSH 会拒绝免密登录600/root
id_ed25519ed25519 算法私钥,服务器本机生成的密钥,一般本机 ssh 连接别的机器使用,不要泄露600/root
id_ed25519.pubed25519 对应的公钥,可以公开644/root
known_hosts记录本机连接过的其他服务器公钥,防止中间人攻击600/root
known_hosts.oldknown_hosts 更新时自动生成的备份文件644/root
id_ed25519与id_ed25519.pub是服务器自带的密钥对,而authorized_keys则是我们需要创建的文件

authorized_keys文件创建

客户端电脑 服务器 id_rsa 私钥----------------> authorized_keys(保存 id_rsa.pub)

我们需要做的就是把我们本机的id_rsa.pub公钥文件的内容放到服务器的authorized_keys文件内,这样当我们通过ssh连接时才会私钥验证成功 —— 允许登录。

法一

可以通过宝塔面版图形化创建authorized_keys文件随后把本机的公钥文件的内容完整复制到里面即可

内容示例

ssh-rsa sdifsfidsi(一串字符串,已作脱敏处理,这是我们添加进去的本地电脑公钥)ssh-ed25519 AAAA3N1lZDI1(一串字符串,已作脱敏处理,这个是服务器自带的自己的公钥)
法二 手动创建 authorized_keys
1. 进入 SSH 配置目录

服务器执行:

cd ~/.ssh

如果不存在:

mkdir ~/.ssh

设置目录权限:

chmod 700 ~/.ssh

2. 创建 authorized_keys 文件

创建:

touch authorized_keys

或者直接:

vim authorized_keys

3. 写入客户端公钥

打开本地电脑:

查看公钥:

使用记事本打开id_rsa.pub

例如:

ssh-rsa AAAABaC1yc2EAAAADAQAAACAQC...... user@email.com

复制​完整一行内容

进入服务器:

vim ~/.ssh/authorized_keys

粘贴:

ssh-rsa AAAAB3aC1yc2EADAQABAAACAQC...... user@email.com

保存:

vim:

Esc :wq Enter

4. 设置 authorized_keys 权限

SSH 对权限要求严格。

执行:

chmod 600 ~/.ssh/authorized_keys

查看:

ls -l ~/.ssh

正常:

-rw------- 1 root root authorized_keys

表示:

所有者(root):读 + 写 其他用户:无权限

后续连接使用

ssh-iC:\Users\le4\.ssh\id_rsa root@1x4.xxx.xxx.x8 ssh-i 私钥路径 用户名@服务器IP

打开你的cmd执行这条命令就可以远程操作服务器了!

连接的同时执行命令在服务器
ssh-i 私钥 用户名@服务器IP"服务器命令"
查看服务器目录

例如查看/root

ssh -i C:\Users\le4\.ssh\id_rsa root@1x4.xxx.xxx.x8 "ls /root"

执行多个命令

&&

ssh -i C:\Users\le4\.ssh\id_rsa root@1x4.xxx.xxx.x8 "cd /root && ls"

等价于服务器执行:

cd /root ls

启动服务

例如启动 Docker:

ssh -i C:\Users\le4\.ssh\id_rsa root@1x4.xxx.xxx.x8 "systemctl start docker"

查看状态:

ssh -i C:\Users\le4\.ssh\id_rsa root@1x4.xxx.xxx.x8 "systemctl status docker"

执行服务器脚本

比如服务器有:

/root/start.sh

本地:

ssh -i C:\Users\le4\.ssh\id_rsa root@1x4.xxx.xxx.x8 "bash /root/start.sh"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 16:57:31

2026年最新!英语教学AI工具这3点一定要知道

【摘要:】 作为有5年英语教学领域经验的技术分享博主,我结合近3年的工具测评、公立校落地案例,拆解2026年英语教学AI工具的核心技术门槛、真实落地效果和避坑要点,所有数据均来自实测或官方公开资料,没有广告&#xff…

作者头像 李华
网站建设 2026/8/6 16:55:20

Transformer位置编码演进:从绝对位置到RoPE与ALiBi的深度解析

1. 位置编码:从“绝对”到“相对”的认知跃迁 在构建现代序列模型,尤其是Transformer架构时,我们常常会听到一个核心概念:位置编码。对于刚接触这个领域的朋友来说,它可能只是一个需要“加上去”的数学公式&#xff0c…

作者头像 李华
网站建设 2026/8/6 16:54:36

从初音未来盲盒看技术思维:产品设计、概率系统与供应链映射

最近在整理桌面时,发现不少开发者朋友除了敲代码,也喜欢收集一些有趣的潮玩手办来放松心情。今天就来分享一款我个人觉得设计非常出彩的系列——玩乐主义推出的初音未来主题盲盒。这不仅仅是一个简单的开箱分享,我更想借此聊聊,作…

作者头像 李华
网站建设 2026/8/6 16:50:00

C++图形编程实战:从零构建Painted Deck项目完整指南

这次我们来看一个名为“Cant wait for this Madness to be over (C, Painted Deck)”的项目。从标题直译来看,它可能是一个用C实现的、与“Painted Deck”(彩绘甲板/卡牌)相关的程序,或许是一个图形化的小游戏、模拟器或某种视觉演…

作者头像 李华
网站建设 2026/8/6 16:46:28

Unity开发中MCP协议与AI工具链整合实践

1. 项目概述:Unity开发中的MCP与AI工具链整合在Unity开发领域,MCP(Modular Control Protocol)协议正在改变传统工作流程。这个开源通信协议最初由自动驾驶领域引入,现已广泛应用于游戏开发、数字孪生和工业仿真场景。我…

作者头像 李华
网站建设 2026/8/6 16:43:42

Godot游戏资源提取实战:从PCK解包到素材应用全流程

1. 项目概述:为什么我们需要关注Godot的PCK资源提取?如果你是一个独立游戏开发者,或者对游戏逆向工程、素材复用、Mod制作感兴趣,那么“如何从Godot引擎打包的游戏里拿到原始素材”这个问题,大概率已经在你脑子里盘旋过…

作者头像 李华