Linux之sshkey密钥认证实战

  在实际的生产环境中,经常会用到sshkey密钥认证实行数据分发数据等操作,还可以批量操作内网服务器,实行免密认证进行推送分发数据。

1、环境查看

分发服务器

节点服务器

2、服务器添加系统账号

3、生成密钥对

[[email protected] ~]# su - fenfa
[[email protected] ~]$ whoami
fenfa

[[email protected] ~]$ ssh-keygen -t dsa

 Generating public/private dsa key pair.
Enter file in which to save the key (/home/fenfa/.ssh/id_dsa):
Created directory ‘/home/fenfa/.ssh‘.  #创建目录
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/fenfa/.ssh/id_dsa.
Your public key has been saved in /home/fenfa/.ssh/id_dsa.pub.
The key fingerprint is:
2c:33:62:96:d5:5a:56:a8:19:63:29:de:63:35:83:f1 [email protected]
The key‘s randomart image is:
+--[ DSA 1024]----+
| .+ .. |
| . *o=. |
| . +.*Eo |
| .o*= |
| =.=.S |
| o . + |
| |
| |
| |
+-----------------+
[[email protected] ~]$ cd /home/fenfa/.ssh/
[[email protected] .ssh]$ ls -ld .ssh
ls: cannot access .ssh: No such file or directory
[[email protected] .ssh]$ ls -ld /home/fenfa/.ssh/
drwx------ 2 fenfa fenfa 4096 Feb 21 00:25 /home/fenfa/.ssh/
[[email protected] .ssh]$ ll
total 8
-rw------- 1 fenfa fenfa 668 Feb 21 00:25 id_dsa
-rw-r--r-- 1 fenfa fenfa 606 Feb 21 00:25 id_dsa.pub

 
[[email protected] .ssh]$ cat /home/fenfa/.ssh/id_dsa
-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQDLu2NAZzbTkIb5qAXlFEEud/Ka3dS37dSzIgpkWeX5M65niDgJ
NoXybn5t14YC5Ur7ef1MXQWsTJlzz1Y6+2MXNUnqnttIsbFGqPFCxfITDCryE9xZ
L16LF7LLFcYyAiXDNJApQXRfnt8p4+5NYEx7WUtRnFhcAyolGCKGV9FlpQIVAPd4
UIqd7o3o3z+R8JbB0kB7uQmzAoGAb7DhH9aXMrDCERjr3u3kb6/P5yKl1h4Bx/Il
k6Ye/hmly5jPk2ylwifPb0iVHVfKvREVGEQ84SUkYzGhAkws1hcrEp9auunzYDNP
Sw8rTRwnGHe+jeSJpMFyE/XiAdLm9dlvNubgcprAhrY7j2dgM6lMzI4Wzx64yPm5
qqEF3AwCgYAswJiFXDeTFDumtSeAYwukCbuYFmuOZFep17Vo+5GO/EYmhv0WLkry
mfkWIgzeq9RfiDj2jVGxMPwRdfIqqeThzrs8nJKNgIwhI8yN/EcjwdHA9iwkMWng
+eXweI3JLGwAwOi8K0E5daJe6QyXZO67nlZt6RPsnnOZzsgdqIrtkwIVAK4QeeT/
lrNTWfo0hWEh7DPEGHsx
-----END DSA PRIVATE KEY-----

4、分发密钥

分发的命令格式
ssh-copy-id -i 密钥名称 用户@远端主机 IP 地址--------------用于 ssh 是默认端口
ssh-copy-id -i 密钥名称 “-p port 用户@远端主机 IP 地址”--用于 ssh 非默认端口

[[email protected] .ssh]$ ssh-copy-id -i id_dsa.pub [email protected]192.168.181.129  #分发的命令
The authenticity of host ‘192.168.181.129 (192.168.181.129)‘ can‘t be established.
RSA key fingerprint is 9e:81:e9:02:86:a0:24:37:2b:d0:4e:ae:d4:41:6f:0d.
Are you sure you want to continue connecting (yes/no)? y
Please type ‘yes‘ or ‘no‘: yes
Warning: Permanently added ‘192.168.181.129‘ (RSA) to the list of known hosts.
[email protected]192.168.181.129‘s password:
Permission denied, please try again.
[email protected]192.168.181.129‘s password:
Permission denied, please try again.
[email protected]192.168.181.129‘s password:
Now try logging into the machine, with "ssh ‘[email protected]‘", and check in:

  .ssh/authorized_keys

to make sure we haven‘t added extra keys that you weren‘t expecting.

[[email protected] .ssh]$ ssh-copy-id -i id_dsa.pub [email protected]192.168.181.129
Now try logging into the machine, with "ssh ‘[email protected]‘", and check in:

  .ssh/authorized_keys

to make sure we haven‘t added extra keys that you weren‘t expecting.

查看是否分发成功

[[email protected] ~]$ tree /home/fenfa/.ssh/
/home/fenfa/.ssh/
└── authorized_keys  分发成功

0 directories, 1 file

5、分发数据

不需要输入密码

当每天都需要分发数据时,可以把命令写入脚本中,再加入定时任务,就可以自动分发数据。

原文地址:https://www.cnblogs.com/caicairui/p/8457013.html

时间: 2024-10-05 23:08:59

Linux之sshkey密钥认证实战的相关文章

ssh-key免密钥认证实战

ssh-key免密钥认证 环境: server 服务器192.168.1.178/24 client-b服务器192.168.1.1.179/24 client-c服务器192.168.1.1.180/24 这三台机器都禁止root的远程登录,并且把ssh的默认访问端口22改成5201端口 这三台机器都创建了crazy普通用户,密码123456 需求:实现server端通过SSH通道可以免密码访问client-b主机和client-c主机 拓扑图: 实战操作: 在server服务器使用crazy

Ansible ssh-key密钥认证配置

对于被管理服务器做免密码登录设置 1.在管理服务器生成ssh-key密钥 #ssh-keygen  //生成秘钥 [email protected]:/etc/ansible# 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 sam

Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your [email protected]' -t 指定密钥类型,默认即 rsa ,可以省略-C 设置注释文字,比如你的邮箱 2. 将公钥复制到ssh服务器 将前一步骤生成的公钥~/id_rsa.pub文件,复制到ssh服务器对应用户下的~/.ssh/authorized_keys文件,可以有多种方式,这里只介绍常用的三种. [适用于osx系统]使用ssh-c

Mac下配置远程Linux 服务器SSH密钥认证自动登录

1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your [email protected]' -t 指定密钥类型,默认即 rsa ,可以省略-C 设置注释文字,比如你的邮箱 2. 将公钥复制到ssh服务器 将前一步骤生成的公钥~/id_rsa.pub文件,复制到ssh服务器对应用户下的~/.ssh/authorized_keys文件,可以有多种方式,这里只介绍常用的三种. [适用于osx系统]使用ssh-c

Linux ssh免密钥认证

hadoop和ansible都需要这个东西,其实很简单. 第一,在需要免秘钥登录的机器上生成公钥和私钥: ssh-keygen 第二,拷贝生成的公钥id_rsa.pub到远程机器上: ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]  #用此方式拷贝的好处是不用改名 这时再登录192.168.0.247的机器就无需密码了. [[email protected]_server ~]# ssh 192.168.0.247 Last logi

xshell,putty远程连接Linux并使用密钥认证

putty秘钥登录 1.软件:putty.puttygen puttygen点击Generate生成公钥和私钥 二次保障,输入设置密码 点击保存私钥文件即可. 将公钥保存到服务器上: mkdir /root/.ssh chmod 700 /root/.ssh vi /root/.ssh/authorized_keys 复制即可. setenforce 0 关闭防火墙 xshell 新建秘钥 给秘钥写上二次密码 生成公钥,然后将公钥保存到服务器上 vi /root/.ssh/authorized_

Xshell使用密钥认证机制远程登录Linux

密钥认证是Linux下ssh服务支持的一种安全认证机制.它使用一对加密字符串,一个称为公钥(publickey),用于加密:另一个称为密钥(privatekey),只有创建者才能拥有使用,其用于解密.那么如何使用密钥认证登陆Linux呢? 1.下Xshell软件 在www.baidu.com搜索框内输入xshell,出现搜素结果后,点击高速下载或者普通下载,开始下载xshell软件. 2.安装xshell软件 Xshell支持多国语言版本,且可以免费获得.在安装时要注意选择免费版本,即"免费为家

1.9 使用PuTTY远程连接Linux 1.10 使用xshell连接Linux 1.11 PuTTY密钥认证 1.12 xshell密钥认证

1.9 使用PuTTY远程连接Linux 先下载putty 地址百度搜,进官网下载https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 先查看自己的ip 安装完成后 双击putty 填自己的ip 和名字 windows 窗口这里设置成2000 可以在窗口下上下翻 最多2000行 选择字体 字体改下 选择中文的要选择utf-8 点open 点击是 即可 1.10 使用xshell连接Linux 使用xshell 连接linux

putty、Xshell远程连接Linux以及密钥认证

一.远程登录 注:首先要保证虚拟机和主机之间可以互相ping通,如果不能ping通则后续工作无法进行. 1.putty远程登录 先在一个putty软件组putty.zip(包含putty.puttygen等) --># ifconfig 查询自己的IP -->打开putty-->host name栏输入虚拟机的IP-->saved session(命名)putty 注:port(端口)可以更改,但是在此不用改 -->在此可对putty进行个性化设置 -->打开putty