使用key登陆管理linux服务器/免密码登陆linux服务器

简介:

ssh除了密码验证外,还有一种比较常用的验证方式:key;他的好处除了安全外,还可以实现linux之间的免密码登陆 ,方便管理或者批量维护。

本文介绍一下windows/linux下如何配置key免密码登陆linux服务器

01 [root@A ~]# ssh-keygen -t rsa
02  
03 Generating public/private rsa key pair.
04  
05 Enter file in which to save the key (/root/.ssh/id_rsa):
06 //key保存的路径和文件名
07  
08 Enter passphrase (empty for no passphrase):
09  
10 //key的密码,免密码登陆的话留空
11  
12 Enter same passphrase again:
13  
14 Your identification has been saved in /root/.ssh/id_rsa
15  
16 //生成了私钥/root.ssh/id_rsa
17  
18 Your public key has been saved in /root/.ssh/id_rsa.pub
19  
20 //生成了公钥 /root/.ssh/id_rsa.pub
21  
22 The key fingerprint is:
23  
24 82:8c:2c:52:06:c6:f3:c4:1c:1c:35:b7:cd:5b:42:a2 root@A
25  
26 [root@A ~]# ls /root/.ssh/ //查看一下目录,已经有了这两个文件
27  
28 authorized_keys id_rsa id_rsa.pub known_hosts
29  
30 [root@A ~]#

查看一下服务器ssh服务公钥存放的路径

1 [root@A ~]# cat /etc/ssh/sshd_config |grep AuthorizedKeysFile
2  
3 #AuthorizedKeysFile .ssh/authorized_keys

默认服务器保存公钥的位置是.ssh/AuthorizedKeysFile

所以需要将生成的公钥文件通过scp或者任何方法拷贝到你需要远程登录的服务器的这个文件中

01 [root@B ~]# cd .ssh/
02  
03 [root@B .ssh]# cat id_rsa.pub >authorized_keys
04  
05 //服务器本地ssh客户端默认读取的私钥路径已经包含了/.ssh/id_rsa
06  
07 [root@A .ssh]# cat /etc/ssh/ssh_config |grep IdentityFile
08  
09 # IdentityFile ~/.ssh/identity
10  
11 # IdentityFile ~/.ssh/id_rsa
12  
13 # IdentityFile ~/.ssh/id_dsa

至此你可以直接从A 执行命令ssh ipB

登录到服务器B了,就这么简单。

有一种简单的方法:使用命令ssh-copy-id 直接将本机的key加入到对方服务器的验证文件中

01 [root@A .ssh]# ssh-copy-id
02  
03 Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
04  
05 [root@A .ssh]# ssh-copy-id -i /root/.ssh/id_rsa root@ipB
06  
07 The authenticity of host 'ipB (ipB)' can't be established.
08  
09 RSA key fingerprint is 17:21:32:02:da:3b:a1:d1:a2:69:12:36:a2:d7:59:ad.
10  
11 Are you sure you want to continue connecting (yes/no)? yes
12  
13 root@ipB's password:
14  
15 Now try logging into the machine, with "ssh 'root@ipB'", and check in:
16  
17 .ssh/authorized_keys
18  
19 [root@A ~]# ssh ipB
20  
21 Last login: Sun Dec 15 19:33:07 2013 from ipA
22  
23 [root@B ~]#

这样执行之后,就可以直接登陆服务器了。

上面都是通过linux的ssh客户端来连接,如果通过本地来使用key登陆的话方法大同小异;

将私钥id_rsa下载到本地,然后导入到客户端的密钥认证配置的地方即可;

以SecureCRT为例,配置位置如下图选择下载下来的私钥文件即可。

crt-key

目录
相关文章
|
25天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
34 1
|
1天前
|
缓存 运维 算法
深入理解Linux内核的虚拟内存管理
【5月更文挑战第6天】 在现代操作系统中,尤其是类Unix系统如Linux中,虚拟内存管理是一项核心功能,它不仅支持了多任务环境,还提供了内存保护和抽象。本文将深入探讨Linux操作系统的虚拟内存子系统,包括分页机制、虚拟地址空间布局、页面置换算法以及内存分配策略。通过对这些概念的剖析,我们旨在为读者揭示Linux如何有效地管理和优化物理内存资源,并确保系统的稳定运行与高效性能。
|
1天前
|
分布式计算 大数据 Hadoop
【经验分享】用Linux脚本管理虚拟机下的大数据服务
【经验分享】用Linux脚本管理虚拟机下的大数据服务
9 1
|
6天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
7天前
|
存储 固态存储 Linux
|
7天前
|
缓存 网络安全 开发工具
Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
|
10天前
|
移动开发 数据可视化 Linux
Linux 中的文件与目录管理解析
当谈到Linux系统,文件与目录管理是其中最基本和重要的部分之一。Linux提供了一种强大而灵活的方式来组织和管理文件和目录,让用户能够轻松地访问和操作系统中的各种数据。上一节我们说到文件的属性,本文将详细介绍Linux中的文件与目录管理的各个方面。
|
13天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
56 2
|
14天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
14天前
|
Oracle 关系型数据库 Linux
Linux用户及用户组管理命令
Linux用户及用户组管理命令
15 0