ssh证书登录(实例详解)

前言

本文基于实际Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的各种问题,以及实现hadoop集群部署要求的无密码跳转问题。

ssh有密码登录和证书登录,初学者都喜欢用密码登录,甚至是root账户登录,密码是123456。但是在实际工作中,尤其是互联网公司,基本都是证书登录的。内网的机器有可能是通过密码登录的,但在外网的机器,如果是密码登录,很容易受到攻击,真正的生产环境中,ssh登录都是证书登录。

证书登录的步骤

1.客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,一般为了安全,访问有黑客拷贝客户端的私钥,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥(如果工作中,你使用了一个没有密码的私钥,有一天服务器被黑了,你是跳到黄河都洗不清)。

2.服务器添加信用公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。

假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。

真实的工作中:员工生成好私钥和公钥(千万要记得设置私钥密码),然后把公钥发给运维人员,运维人员会登记你的公钥,为你开通一台或者多台服务器的权限,然后员工就可以通过一个私钥,登录他有权限的服务器做系统维护等工作,所以,员工是有责任保护他的私钥的,如果被别人恶意拷贝,你又没有设置私钥密码,那么,服务器就全完了,员工也可以放长假了。

客户端建立私钥和公钥

在客户端终端运行命令

ssh-keygen -t rsa

rsa是一种密码算法,还有一种是dsa,证书登录常用的是rsa。

假设用户是blue,执行 ssh-keygen 时,才会在我的home目录底下的 .ssh/ 这个目录里面产生所需要的两把 Keys ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)

另外就是私钥的密码了,如果不是测试,不是要求无密码ssh,那么对于passphrase,不能输入空(直接回车),要妥当想一个有特殊字符的密码。

ssh服务端配置

ssh服务器配置如下:

vim /etc/ssh/sshd_config
#禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

配置好ssh服务器的配置了,那么我们就要把客户端的公钥上传到服务器端,然后把客户端的公钥添加到authorized_keys

在客户端执行命令

scp ~/.ssh/id_rsa.pub blue@<ssh_server_ip>:~

在服务端执行命令

cat  id_rsa.pub >> ~/.ssh/authorized_keys

如果有修改配置/etc/ssh/sshd_config,需要重启ssh服务器

/etc/init.d/ssh restart

 

客户端通过私钥登录ssh服务器

ssh命令

ssh -i /blue/.ssh/id_rsa blue@<ssh_server_ip>

scp命令

scp -i /blue/.ssh/id_rsa filename blue@<ssh_server_ip>:/blue

每次敲命令,都要指定私钥,是一个很繁琐的事情,所以我们可以把私钥的路径加入ssh客户端的默认配置里

修改/etc/ssh/ssh_config

#其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已
IdentityFile ~/.ssh/id_rsa
#如果有其他的私钥,还要再加入其他私钥的路径
IdentityFile ~/.ssh/blue_rsa

其他应用场景

SecureCRT密钥key远连接程ssh证书登录Linux

  国内大部分人用的系统是windows,而windows下有很多ssh客户端图形工作,最流行,功能最强大的就是SecureCRT了,所以我会单独针对SecureCRT简单讲下实现ssh证书登录Linux的要点,步骤如下:

  1:在SecureCRT创建私钥和公钥:主菜单->工具->创建公钥->选择RSA->填写私钥的密码->密钥长度填为1024->点击完成,生成两个文件,默认名为identity和identity.pub

  2.把私钥和公钥转换为OpenSSH格式:主菜单->工具->转换私钥到OpenSSH格式->选择刚生成私钥文件identity->输入私钥的密码->生成两个文件,指定为id_rsa,id_rsa.pub 

  3.把公钥id_rsa.pub上传到ssh服务器,按照之前配置服务器端的证书,再配置一次。

  另外,如果你之前用windows的 SecureCRT的证书登录linux的,有一天你换成了linux,并希望通过原来的私钥登录公司的服务器,那么可以把id_rsa拷贝倒~/.ssh/目录下,配置ssh客户端参考上文。

  备注:ssh对证书的文件和目录权限比较敏感,要么根据出错提示设置好文件和目录权限,要么是把StrictModes选项设置为no

hadoop部署的无密码ssh登录

hadoop要求master要无密码跳转到每个slave,那么master就是上文中的ssh客户端了,步骤如下

   在hadoop master上,生成公钥私钥,这个场景下,私钥不能设置密码。

   把公钥上传到每个slave上指定的目录,这样就完成了ssh的无密码跳转了。

总结

ssh证书登录,在实际工作才是最常用的登录方式,本人结合了真正工作的场景普及了ssh证书登录的知识,并根据流行的hadoop部署和windows下最常用的SecureCRT实例讲解了证书登录。

家用网络附加存储OpenMediaVault安装内网穿透实现跨网络远程连接 在数字化时代,数据管理变得越来越重要。无论是家庭还是小型企业,高效便捷的数据存储与共享都成了必备技能。网络附加存储设备(NAS)因其强大的功能、灵活的操作以及多样的应用场景,迅速成为了许多人的首选。 OpenMediaVault(简称OMV)作为一款基于Debian Linux的开源解决方案,凭借其模块化设计和丰富的插件系统,在用户中积累了极高的口碑。它不仅提供了友好的Web管理界面,还支持多种数据管理和共享功能,让家庭和小企业用户的存储需求得到了极大的满足。 阅读详情

相关推荐

ssh服务证书登录设置

前言 本文基于实际Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的各种问题,以及实现hadoop集群部署要求的无密码跳转问题。 ssh有密码登录证书登录,初学者都喜欢用密码登录,甚至是root账户登录,密码是123456。但是在实际工作中,尤其是互联

u013177568的专栏 1100

SSH公钥原理(密钥,秘钥,私钥)(看了还是懵逼啊!)

文章目录1. 初见SSH2. SSH工作原理1. 基于口令的认证2.基于公钥认证3. SSH实践4 总结3. 为什么需要known_hosts? 1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务。 SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案。使用范围最广泛的当然是开源实现OpenSSH。 2. SSH工作原理 在讨论SSH的原理和使用前,我们需要分析一个问题:为什么需要SSH? 从1.1节SSH的定义中可以看出,SSH

Dontla的博客 2万+

SSH配置证书登录

文章目录客户端配置服务端配置 客户端配置 windows10直接在客户端生成密钥对ssh-keygen 默认保存在%USERPROFILE%\.ssh目录下: id_rsa id_rsa.pub 将.pub文件放到服务器上 pscp -P xxxxx -pw uWtM7W8rS456 C:\Users\123\.ssh\id_rsa.pub root@xxxxx:/root/ 服务端配置 vi...

include_heqile的博客 1725

ssh 公钥私钥原理

SSH(SecureShell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录或文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全隐患。随着人们对网络安全的重视,这些方式已经慢慢不被接受。SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的登录和其他安全网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案,目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。

dzqxwzoe的博客 2921

LINUX使用RSA 密钥登录

使用密钥登录分为3步: 1、生成密钥(公钥与私钥); 2、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中; 3、配置ssh客户端使用密钥登录。 客户机 首先进入 Linux 系统的用户目录下的 .ssh 目录 cd ~/.ssh/ 执行ls命令,此时目录为空 执行 ssh-keygen 命令创建密钥对 ssh-keygen -t rsa 执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会输入密钥的密...

qq_35493807的博客 3926

SSH证书登录实现步骤

一、SSH证书登录步骤: 客户端在本地生成SSH证书:包括公钥和私钥,一般创建私钥时应该设置好自己的密码,然后将私钥妥善保存在客户端,防止被盗。 服务器添加公钥白名单:客户端将公钥上传至服务器,或者交给运维人员,然后将公钥添加至ssh的信任列表中就可以了。 用户可以用一个私钥登录不同服务器,只要在想登录的服务器中添加自己的公钥即可。 二、客户端创建私钥和公钥 1、在客户端运行命令 ssh-ke...

iong_l的专栏 4309

SSH 证书登录教程

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !SSH 是服务器登录工具,提供密码登录和密钥登录。但是,SSH 还有第三种登录方法,那就是证书登录。很多...

easylife206的专栏 2709

6,SSH 证书登录

SSH 是服务器登录工具,一般情况下都采用密码登录或密钥登录。但是,SSH 还有第三种登录方法,那就是证书登录。某些情况下,它是更合理、更安全的登录方法,本文就介绍这种登录方法。

sagima_sdu的博客 1151

SSH 证书登录

网道(WangDoc.com),互联网文档计划 SSH 是服务器登录工具,一般情况下都采用密码登录或密钥登录。 但是,SSH 还有第三种登录方法,那就是证书登录。某些情况下,它是更合理、更安全的登录方法,本文就介绍这种登录方法。 目录 [隐藏] 非证书登录的缺点 证书登录是什么? 证书登录的流程 生成 CA 的密钥 CA 签发服务器证书 CA 签发用户证书 服务器安装证书 服务器安装 CA 公钥 客户端安装证书 客户端安装 CA 公钥 废除证书 参考链接 非证书登录的缺点 密

追光少年的博客 1万+

HoRain云--SSH 证书登录

SSH证书登录是一种比传统密码和密钥更安全的登录方式。文章详细介绍了证书登录流程:首先生成CA密钥对,分别签发服务器和用户证书;服务器需安装证书和CA公钥,客户端需安装用户证书和CA公钥;证书可设置有效期,并能通过撤销机制作废。该方法解决了多用户环境下密钥管理难题,推荐使用4096位RSA密钥并设置合理有效期(如服务器证书1年、用户证书1天)。配置涉及sshd_config修改和文件权限设置(600),最终通过SSH自动完成证书验证。文章还提供了证书查看和撤销的具体命令,适合企业级SSH安全管理。

sinat_57153473的博客 974

Linux服务器配置ssh证书登录

Linux服务器ssh登录有密码登录证书登录两种。如果使用密码登录,容易遭受密码泄露或者暴力破解,我们可以使用ssh证书登录并禁止使用密码登录ssh证书登录通过公钥和私钥来完成整个连接过程,公钥保存在服务器上,私钥保存在本地。

清瞳清的博客 4125

怎么给自己Linux远程登录设置:SSH证书登录

SSH 是服务器登录工具,提供密码登录和密钥登录。但是,SSH 还有第三种登录方法,那就是证书登录。很多情况下,它是更合理、更安全的登录方法,本文就介绍这种登录方法。 一、非证书登录的缺点密码登录和密钥登录,都有各自的缺点。密码登录需要输入服务器密码,这非常麻烦,也不安全,存在被暴力破解的风险。密钥登录需要服务器保存用户的公钥,也需要用户保存服务器公钥的指纹。这对于多用户、多服务器的大型机构很不方便,如果有员工离职,需要将他的公钥从每台服务器删除。 二、证书登录是什么?证书登录就是为了解决上面的缺点而设计的

goufangwang的博客 1249

Centos实现SSH证书登录

出于安全考虑,我们建议使用SSH证书登录,这样被人破解的可能性会大大降低,秘钥方式不容易破解,秘钥传输数据是加密过的,而且一定程度上可以“防止中间人攻击”。 1.执行命令ssh-keygen -t rsa 生成密钥对 ssh-keygen -t rsa 按提示输入密码并确认 # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):

weixin_48803304的博客 1386

linux ssh证书登录

ssh证书登录方法

ziqibit的博客 4045
上一篇: OFFICE2007安装过程中提示:错误1325,短文件名"Favorites"无效
下一篇: ubuntu 批量复制命令
weixin_34336526
博客等级 码龄10年 4668粉丝 145原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值