胡杨河市网站建设_网站建设公司_会员系统_seo优化
2026/1/14 0:39:03 网站建设 项目流程

文章目录

第1步:生成SSH密钥对及权限设置

1.1 生成密钥对

1.2 关键权限设置(立即执行)

1.3 验证密钥对生成

第2步:配置SSH Config文件及目录权限

2.1 确保SSH目录存在且权限正确

2.2 创建或编辑Config文件

2.3 添加服务器配置

2.4 设置Config文件权限(必须步骤!)

第3步:部署公钥到远程服务器

3.1 在本地复制公钥内容

3.2 登录服务器并配置(逐步执行)

步骤1:使用密码登录

步骤2:确保远程.ssh目录存在且权限正确

步骤3:编辑authorized_keys文件

步骤4:保存并设置关键权限

步骤5:验证文件内容

步骤6:退出服务器

3.3 自动化部署方法(使用ssh-copy-id)

第4步:测试连接及问题排查

4.1 基础测试

4.2 详细调试(如果失败)

4.3 常见权限问题排查表


第1步:生成SSH密钥对及权限设置

1.1 生成密钥对

在本地终端执行以下命令,生成安全强度高的 RSA 密钥对:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

参数说明

  • -t rsa:指定密钥类型为 RSA

  • -b 4096:指定密钥长度为 4096 位(更安全)

  • -f ~/.ssh/id_rsa:指定生成的私钥文件路径和名称

执行过程示例

  • 使用空密码短语(直接回车)

  • 接受默认存储位置

1.2 关键权限设置(立即执行

生成密钥后,必须设置正确的权限:

# 设置私钥为仅自己可读写(600权限) chmod 600 ~/.ssh/id_rsa # 设置公钥权限(644权限即可) chmod 644 ~/.ssh/id_rsa.pub # 检查设置结果 ls -l ~/.ssh/id_rsa ~/.ssh/id_rsa.pub

预期正确输出

-rw------- 1 username staff 1766 Jan 01 10:00 /Users/username/.ssh/id_rsa
-rw-r--r-- 1 username staff 414 Jan 01 10:00 /Users/username/.ssh/id_rsa.pub

1.3 验证密钥对生成

# 确认两个文件都已生成 ls -la ~/.ssh/id_* # 查看公钥内容(用于后续步骤) cat ~/.ssh/id_rsa.pub

公钥内容应以ssh-rsa AAAAB3NzaC1yc2...开头。

第2步:配置SSH Config文件及目录权限

2.1 确保SSH目录存在且权限正确

# 如果~/.ssh目录不存在,则创建它 mkdir -p ~/.ssh # 设置.ssh目录权限为700(仅自己可访问) chmod 700 ~/.ssh # 验证目录权限 ls -ld ~/.ssh

应显示drwx------(700权限)。

2.2 创建或编辑Config文件

方法一:使用终端编辑器(推荐给熟悉终端的用户)

nano ~/.ssh/config

方法二:使用VSCode编辑器(适合习惯图形界面的用户)

  1. 打开VSCode

  2. Ctrl+P(或Cmd+P在Mac上)打开快速访问

  3. 输入~/.ssh/config并按回车

  4. 如果文件不存在,VSCode会提示创建新文件

  5. 编辑完成后按Ctrl+S(或Cmd+S)保存

(详细教程:VSCode远程开发实战:SSH连接服务器详解(附仙宫云平台示例))

注意:即使用VSCode编辑,仍需确保文件权限正确(见2.4节)

2.3 添加服务器配置

在配置文件中按以下格式输入内容:

Host my_server # 自定义别名 HostName your_server.com # 实际服务器地址 User your_username # 登录用户名 IdentityFile ~/.ssh/id_rsa # 指定私钥路径 Port 22 # SSH端口,默认可省略

配置示例(根据实际情况修改):

Host comfyui

HostName n8c7ouu39gjglrzo.ssh.x-gpu.com

Port 50387

User root

IdentityFile ~/.ssh/id_rsa # 私钥文件存储位置

2.4 设置Config文件权限(必须步骤!)

无论用哪种方式编辑,都必须设置正确权限:

# config文件权限应为600或644 chmod 600 ~/.ssh/config # 检查权限设置 ls -l ~/.ssh/config

应显示-rw-------(600权限)或-rw-r--r--(644权限)。

第3步:部署公钥到远程服务器

3.1 在本地复制公钥内容

方法A(Mac推荐)

pbcopy < ~/.ssh/id_rsa.pub # 无输出表示成功,公钥已复制到剪贴板

方法B(通用)

cat ~/.ssh/id_rsa.pub # 手动复制全部输出内容(从ssh-rsa到结尾)

3.2 登录服务器并配置(逐步执行)

步骤1:使用密码登录
ssh your_username@your_server.com # 输入密码登录
步骤2:确保远程.ssh目录存在且权限正确
# 创建.ssh目录(如果不存在) mkdir -p ~/.ssh # 设置严格的目录权限(必须为700) chmod 700 ~/.ssh # 验证权限 ls -ld ~/.ssh # 应显示:drwx------ 或 drwx------ # 进入.ssh目录 cd ~/.ssh
步骤3:编辑authorized_keys文件
# 使用nano编辑器(或vi) nano authorized_keys

在编辑器中:

  1. 将光标移动到文件末尾(如果文件已存在)

  2. 粘贴你的公钥内容(完整一行)

  3. 确保没有多余的空格、换行或注释

正确格式示例

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDx...(很长)...== username@local

步骤4:保存并设置关键权限
# 保存nano:Ctrl+O → Enter → Ctrl+X # 设置authorized_keys文件权限为600(必须!) chmod 600 authorized_keys # 检查权限设置 ls -l authorized_keys # 应显示:-rw------- 或 -rw------- # 检查目录权限(确保仍是700) ls -ld ~/.ssh # 应显示:drwx------ 或 drwx------
步骤5:验证文件内容
# 确认公钥已正确添加 cat authorized_keys # 应显示你刚才粘贴的内容,且为完整一行 # 统计行数(如果有多组密钥) wc -l authorized_keys
步骤6:退出服务器
exit

3.3 自动化部署方法(使用ssh-copy-id)

如果你知道服务器密码,可以使用一键部署:

ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@your_server.com

参数说明

  • -i~/.ssh/id_rsa.pub:指定私钥文件的位置为~/.ssh/id_rsa.pub

执行过程示例

第4步:测试连接及问题排查

4.1 基础测试

# 使用配置的别名连接 ssh my_server

成功标志:无需输入密码,直接显示服务器命令行提示符。

本地终端:

vcode:

4.2 详细调试(如果失败)

# 显示详细的连接过程 ssh -vvv my_server 2>&1 | tail -30

关注输出中的关键信息:

  • Offering public key:客户端是否提供了密钥

  • Authentication succeeded:认证是否成功

  • Permission denied:权限相关问题

4.3 常见权限问题排查表

问题现象可能原因解决方案
仍要求输入密码authorized_keys权限错误chmod 600 ~/.ssh/authorized_keys
连接被拒绝.ssh目录权限过宽chmod 700 ~/.ssh
"Bad permissions"错误本地私钥权限错误chmod 600 ~/.ssh/id_rsa
认证失败但无错误authorized_keys文件格式错误检查是否为完整一行

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

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

立即咨询