首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【linux】ssh免密登录

【linux】ssh免密登录

作者头像
master336
发布2026-06-15 19:55:32
发布2026-06-15 19:55:32
70
举报

概要

服务器免密登录实际上是基于公钥的认证,比如希望A服务器可以免密访问B服务器,则需要进行如下步骤

  • A服务器生成密钥对
  • 将A服务器生成的公钥分发到B服务器(写入~/.ssh/authorized_keys)
  • A服务器即可免密登录B服务器

生成密钥对

使用ssh-keygen命令在客户端机器上创建密钥对

-t 代表指定密钥类型,密钥的类型有两种,一种是RSA,一种是DSA,默认rsa 也即命令可以不加 -t rsa 参数 命令执行过程中有三次确认,分别是存储位置、密码、确认密码,保持默认即可

代码语言:javascript
复制
ssh-keygen -t rsa
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件说明:

文件

说明

id_rsa

生成的私钥

id_rsa.pub

生成的公钥

known_hosts

ssh访问过的服务器的公钥记录

authorized_keys

授权过的登录该服务器公钥

分发公钥

分发密钥有两种方式:

ssh-copy-id

客户端服务器上使用ssh-copy-id将公钥分发到目标服务器上

当目标服务器ssh非22默认端口时,应通过-p参数指定端口 分发公钥时需要验证目标服务器的密码

代码语言:javascript
复制
ssh-copy-id -p 50022 centos7-hadoop-131
在这里插入图片描述
在这里插入图片描述

效果:

在这里插入图片描述
在这里插入图片描述

直接复制

复制客户端服务器的公钥到目标服务器对应用户目录下的.ssh文件夹下的authorized_keys文件(即~/.ssh/authorized_keys 文件) 此种方式需要注意.ssh文件夹和authorized_keys 文件的权限设置 .ssh 的权限需要为700 authorized_keys 的权限需要为600

代码语言:javascript
复制
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

注意事项

  1. ~/.ssh文件夹即文件权限不宜设置的过大或过小,一般的设置不成功也基本都是这个原因
  2. 妥善保管私钥,基于私钥可在任意一点(除非设置黑名单)完成免密登录
  3. 要登陆的目标服务器保管的是公钥,私钥应只存在需要登录的客户机使用。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概要
  • 生成密钥对
  • 分发公钥
    • ssh-copy-id
    • 直接复制
  • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档