关于linux免密登录及ssh客户端的使用
操作系统环境: CentOS Linux release 7.7.1908 (Core)
1、首先在linux服务器上,使用ssh-keygen命令生成密钥对文件(一直回车即可,默认使用rsa算法),如下图所示
其中还支持的算法有dsa | ecdsa | ed25519 | rsa | rsa1,使用其他算法只需要使用-t选项指定即可
(The possible values are "rsa1" for protocol version 1 and "dsa", "ecdsa", "ed25519", or "rsa" for protocol version 2.)
[root@webserver ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:1v4uvRWnv6BSInIaRxctOat2woXxHHFyiY0yN2MKH30 root@webserver
The key's randomart image is:
+---[RSA 2048]----+
| .oBo. |
| . = #+E |
| o % X |
| = B |
| o S . . .|
| o X + . + |
| B + +. .o |
| . ...o... |
| .++. .o|
+----[SHA256]-----+
[root@webserver ~]#
2、如上命令所示,执行完后,会在~/.ssh目录下生成id_rsa(私钥文件)和id_rsa.pub(公钥文件)
3、然后将公钥文件内容,追加到sshd配置文件中AuthorizedKeysFile指令定义的文件,其默认值为.ssh/authorized_keys文件
[root@webserver ~]# cd
[root@webserver ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
4、当然至此,服务器公钥文件即使删除了也是可以的,而私钥则是给客户端使用的,交给客户端后,对服务器本身来说也是非必须的
关于ssh客户端使用密钥访问的方式,客户端取得私钥文件,可以对其重命名,以达到见名知义的效果,如 webserver_id_rsa.pem
对于linux系统ssh客户服务端
只需要使用ssh -i 私钥文件 user@host 即可以访问,如下,其中192.168.100.128为上面的webserver:
[root@client ~]# ssh -i webserver_id_rsa.pem root@192.168.100.128
Last login: Thu Jun 4 22:16:57 2020 from 192.168.100.89
[root@webserver ~]#
另外有时,也会看到有人不用-i指定密钥也是可以免密登录,这是由于ssh客户端配置文件/etc/ssh/ssh_config,
默认有IdentityFile指令,指定了私钥文件,如# IdentityFile ~/.ssh/identity(还有~/.ssh/id_rsa、~/.ssh/id_dsa、~/.ssh/id_ecdsa、~/.ssh/id_ed25519)
大部分情况是自己生成密钥对,通过ssh-copy-id -i 公钥文件 user@远程主机IP 传递到远端服务器的.ssh/authorized_keys
而此时ssh去连接远程主机时,刚好私钥文件,就是刚生成的~/.ssh/id_rsa,所以就不用特意指定,当然也可能客户端配置明确指定了私钥文件
对于windows下的系统xshell客户端
只需要在登录弹窗的Public Key(U) 处通过浏览选择私钥文件,或者直接导入私钥,以后就可以直接在下拉中可以看到!
特别注意,这里的Public Key(U) 不要根据这个名称,误以为公钥文件,始终记住,客户端登录服务器,是使用私钥即可!

putty客户端
对于putty客户端来讲,不能直接使用pem格式的私钥文件
需要先使用puttygen.exe小程序将pem格式的私钥文件,转换成putty所能识别的.ppk格式,
关于linux免密登录及ssh客户端的使用的更多相关文章
- linux免密登录ssh验证配置方法及常见错误解决
目标:从服务器A免密登录服务器B [配置方法] 1.在服务器A生成密钥文件,直接使用以下命令: ssh-keygen 中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_ ...
- ssh-keygen Linux 免密登录
一.选择算法和密钥大小 rsa - 基于分解大数的难度的旧算法.RSA建议密钥大小至少为2048位,4096位更好.RSA正在变老,并且在保理方面取得了重大进展.可能建议选择不同的算法.在可预见的将来 ...
- linux免密登录配置
第一步:安装openssh-clients yum install -y openssh-clients.x86_64第二步:生成密钥 ssh-keygen第三步:拷贝公钥到其他机器 ssh-copy ...
- linux免密登录和设置别名
一.免密登录 (1) 配置公钥 ssh-keygen (2)让远程服务器记住公钥 ssh-copy-id 用户名@ip地址或域名 二.设置别名 (3)在~/.ssh目录下创建并编辑conf ...
- ssh linux免密登录。。。。生产共钥到另一台主机
一.第一种方式: 1.ssh-keygen -t rsa -t : 加密方式 默认为rsa 可以省略不写 加密方式选 rsa|dsa 2.将 .pub 文件复制到目标机器的 .ssh 目录, 并 ca ...
- Linux免密登录
ssh连接上服务器 ssh -p 端口 用户名@ip地址 获取本地的pub ssh key cd ~/.ssh vi id_rsa.pub 拷贝里面的内容 将拷贝的内容放到服务器的authorized ...
- linux 免密登录
ssh-keygen -t rsa -P "" ssh-copy-id -i ~/.ssh/id_rsa.pub root@服务器地址
- Linux 双向 SSH 免密登录
原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...
- (11)ssh免密登录配置
***在Linux命令行中登录到另一台虚拟机(需要用到ssh协议) Linux中默认有ssh的服务器端和客户端,客户端的名字就叫ssh 前提是当前使用的用户名在待连接的虚拟机中存在 格式: ssh ...
随机推荐
- PHP中面向对象特性实现
PHP近些年来成为全球最流行的网页编程语言,该语言以弱类型.易兼容.门槛低.开发快.功能强著称,且听别人这么说,我在有了c和c#基础后学习PHP过程中也并不是很顺利,该语言的一些特殊的语法规则又是让我 ...
- 五一以来,国产手机受到cmtwg, nkvhu, qhsz等几款恶意软件肆虐。
受影响手机包括魅族,中国移动等国产手机. 5月12日开始有人在百度知道提问cmtwg,5月13日mx吧也有人在发贴. 我接到有问题的手机时间更早,大约就是五一之后. 出现问题的几个牌子的国产手机,似乎 ...
- 计算机组成及系统结构-第九章 输入输出(I/O)设备
输入输出(I/O)设备 一.外部设备概述 二.输入设备 1.键盘 2.光笔.图形板和画笔(或游动标)输入 3.鼠标.跟踪球和操作杆输入 4.触摸屏 5.图像输入设备 6.条形码 7.光学字符识别(OC ...
- 8.4 Go select
8.4 Go select Go语言引入了select关键字,用于处理异步IO问题,语义和switch特别相似.语法由select开始,每个条件由case语句来描述.每个case语句必须是IO操作. ...
- 01 基础版web框架
01 基础版web框架 服务器server端python程序(基础版): import socket server=socket.socket() server.bind(("127.0.0 ...
- 蓝桥杯 试题 算法提高 宰羊 DP解决
问题描述 炫炫回了内蒙,肯定要吃羊肉啦,所有他家要宰羊吃. 炫炫家有N只羊,羊圈排成一排,标号1~N.炫炫每天吃掉一只羊(这食量!其实是放生啦),吃掉的羊的邻居会以为它被放生了,然后又会告诉他们的邻居 ...
- Ubuntu 安装 rabbitmq
第一步:安装 erlang 官网:https://www.erlang-solutions.com/resources/download.html 然后在终端输入:erl 显示如下,说明安装成功! E ...
- tp5插入百万条数据处理优化
<?php namespace app\index\controller; use think\Controller; use think\Db; class Charu extends Con ...
- 整理总结数据库常用sql语句,建议收藏,忘记了可以来看一下
第一节课:sql语言介绍(参照PPT)及基本查询sql学习 1.数据库表的介绍 emp表:员工表 dept表:部门表 salgrady:薪资水平表 Balance: 2.基本的查询语句: 知识点: s ...
- Redis学习笔记(1)
一.NoSQL基础知识 1. NoSQL概念 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库 ...