云计算百科
云计算领域专业知识百科平台

如何3分钟彻底搞定SSH远程连接?一文解决免密登录服务器全攻略!

1. 服务器创建 .ssh 目录(如果不存在)

mkdir -p ~/.ssh

chmod 700 ~/.ssh

• mkdir -p ~/.ssh:如果 .ssh 目录已经存在则不报错,否则自动创建。

• chmod 700 ~/.ssh:设置目录权限为仅自己可读写执行。


2. 在本地主机生成 SSH 密钥

1. 打开本地终端(Windows、macOS 或 Linux 均可),执行以下命令创建一对 SSH 密钥(公钥 & 私钥):

ssh-keygen

• 一路按回车(一般默认存储到 ~/.ssh/id_rsa)

2. 生成成功后,会在 ~/.ssh 目录下得到两个文件:

• id_rsa:私钥文件

• id_rsa.pub:公钥文件

3. 将本地公钥追加到远端的 keys中

本地电脑手动复制公钥:

显示公钥内容:

cat ~/.ssh/id_rsa.pub

将将本地公钥复制,登录到服务器后,把内容echo 方式追加到 ~/.ssh/authorized_keys 文件中:

echo "ssh-rsa AAAAB3NzaC1yc2E…双引号里面是你的公钥…" >> ~/.ssh/authorized_keys

执行以上命令,将你的公钥写入 authorized_keys 文件(如果该文件之前不存在,会自动创建):

验证是否追加成功 

cat ~/.ssh/authorized_keys

如果能看到你追加的那行公钥内容,即表示添加成功。 

4. 服务器设置 authorized_keys 文件权限

chmod 600 ~/.ssh/authorized_keys

• 仅文件所有者可读写。

5. 在 本地终端使用公钥登录

• 如果你创建的时候是一直回车方式创建的默认名字(如 ~/.ssh/id_rsa)

ssh root@你的服务器IP

• 如果服务器的 SSH 端口不是 22,需要加上 -p <端口号> 参数。

若配置无误,即可使用公钥免密(或带 passphrase)登录。

常见问题

1. 公钥结尾带奇怪的引号

• 若复制粘贴时引用符号出错,可直接把公钥粘贴到 authorized_keys 文件中,不要带中文引号或花样引号。

2. 权限问题

• .ssh 目录权限应该是 700,authorized_keys 文件权限应该是 600,否则 SSH 默认会拒绝使用该公钥。

3. SSH 配置文件

• 若仍无法登录,检查 /etc/ssh/sshd_config 中是否启用了 PubkeyAuthentication yes,以及是否禁用或允许 PasswordAuthentication 等。

• 修改后需要 sudo systemctl restart sshd 或 service ssh restart 以生效。

只要按照上述步骤正确创建 .ssh 和 authorized_keys,并设置好权限,即可顺利完成公钥登录的配置。

有什么问题欢迎留言~

赞(0)
未经允许不得转载:网硕互联帮助中心 » 如何3分钟彻底搞定SSH远程连接?一文解决免密登录服务器全攻略!
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!