远程和免密登录

一、远程管理SSH服务免密登录解决方案
1.使⽤yum安装了nodejs环境
2.安装npm,设置镜像
3.使⽤npm安装了vue
4.使⽤安装vue软件,创建vue项⽬ vue create vuehtml000
5.跳到项⽬⽬录中,npm run serve启动项⽬
6.npm run build 构建项⽬
7.将构建的项⽬⽬录dist⽬录中的所有⽂件部署到nginx的html⽬录中
8.reload nginx
任务背景
经过⼀段时间后,开发⼈员和运维⼈员都觉得使⽤密码SSH登录的⽅式太麻烦(每次登录都需
要输⼊密码,难记⼜容易泄露密码)。为了安全和便利性⽅⾯考虑,要求运维⼈员给所有服务
器实现免密码登录。
任务要求
所有开发⼈员通过远程管理⽤户code登录⽣产服务器实现免密码登录。
任务拆解任务拆解
1.理解免密登录原理
2. 根据需求针对不同⽤户配置免密登录
涉及知识点
免密登录原理(理解)
⽤户⽣成秘钥对(公钥和私钥)
免密码登录配置(重点)
课程⽬标
了解sshd服务的认证⽅式
理解免密等原理
能够根据需求对⽤户进⾏免密码登录配置
理论储备
SSH两种认证⽅式
1、基于⽤户名密码的认证(精简版)
JumpServer => ssh code@RealServer的IP地址

2、基于密钥对的认证
基于密钥对认证,也就是所谓的免密码登录,理解免密登录原理:任务解决⽅案

1. 跳板机上的开发⼈员⾃⼰⽣成⼀对秘钥
code1为例:
[code1@MissHou ~]$ ssh-keygen
Generating public/private rsa key pair.Enter file in which to save the key (/home/code1/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/code1/.ssh/id_rsa.
Your public key has been saved in /home/code1/.ssh/id_rsa.pub.
The key fingerprint is:
14:78:f6:70:9f:48:64:7e:19:c3:cb:c3:7a:52:1e:d8 code1@MissHou.itcast.cc
The key's randomart image is:
+--[ RSA 2048]----+
| ...o.o |
| . ++o .+ |
| o.=.Boo |
| . +.E |
| S + o |
| o o |
| o |
| |
| |
+-----------------+
[code1@MissHou ~]$ ll -a .ssh/
total 16
drwx------ 2 code1 coding 4096 Dec 28 09:33 .
drwx------ 5 code1 coding 4096 Dec 27 11:49 ..
-rw------- 1 code1 coding 1675 Dec 28 09:33 id_rsa
-rw-r--r-- 1 code1 coding 405 Dec 28 09:33 id_rsa.pub
2. 将code1⽤户的公钥远程拷⻉到⽣产服务器上指定⽤户的指定⽬录
[code1@MissHou ~]$ ssh-copy-id code@10.1.1.1
The authenticity of host '10.1.1.1 (10.1.1.1)' can't be established.
RSA key fingerprint is 30:c8:1a:67:55:22:33:26:e5:fb:44:56:4d:8b:26:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.1.1.1' (RSA) to the list of known hosts.
code@10.1.1.1's password:
Now try logging into the machine, with "ssh 'code@10.1.1.1'", and check
in:扩展总结
图解SSH加密算法
des 对称的公钥加密算法,安全低,数据传输速度快;使⽤同⼀个秘钥进⾏加密或解密
rsa ⾮对称的公钥加密算法,安全,数据传输速度慢 ,SSH默认的加密算法
思考1: ⽤户信息加密了,但如何安全的保存密钥呢?
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
或者
[code1@MissHou ~]$ scp -P22 ~/.ssh/id_rsa.pub
code@10.1.1.1:/home/code/.ssh/authorized_keys
code@10.1.1.1's password:
id_rsa.pub
3. 测试验证
[code1@MissHou ~]$ ssh -lcode 10.1.1.1
Last login: Fri Dec 28 09:38:17 2018 from 10.1.1.250
[code@server ~]$
1、远程Server收到Client端⽤户的登录请求后,Server端把⾃⼰的公钥发给⽤户
2、Client端使⽤这个公钥,将密码进⾏加密
3、Client将加密的密码发送给Server端
4、远程Server⽤⾃⼰的私钥,解密登录密码,然后验证其合法性
5、根据验证结果,给Client相应的响应。
思考2: ⾮对称加密就绝对安全吗?
问题: SSH中是如何解决这个问题的呢?
答:基于⽤户名密码认证和密钥对认证。
==基于⽤户密码的认证==
[root@MissHou ~]# ssh 192.168.10.171
The authenticity of host '192.168.10.171 (192.168.10.171)' can't be
established.
RSA key fingerprint is 9f:71:de:3c:86:25:dd:f0:06:78:ab:ba:96:5a:e4:95.
Are you sure you want to continue connecting (yes/no)?
提示信息:⽆法确认主机192.168.10.171的真实性,指纹
是 9f:71:de:3c:86:25:dd:f0:06:78:ab:ba:96:5a:e4:95. ,你确定想要继续吗?说明:
1. 理论上应该是对公钥的确认,由于公钥通过RSA算法加密,太⻓,不好直接⽐较,所以给
公钥⽣成⼀个hash的指纹,⽅便⽐较。
2. 当客户端输⼊yes确认对⽅的公钥指纹后,server端的公钥就会被存放到客户机的⽤户家
⽬录⾥~/.ssh/known_hosts⽂件中,下次再访问就直接通过密码登录,不需要再确认公
钥。
基于秘钥对的认证(免密码登录)
相关⽂件解读:
1. id_rsa:保存私钥
2. id_rsa.pub:保存公钥
3. authorized_keys:保存已授权的客户端公钥
4. known_hosts:保存已认证的远程主机公钥
二、ssh实操
远程管理SSH服务
⼀、搭建SSH服务
0.安装ssh服务
1.openssh
2.ssh-server
3.ssh-client
cs c lient-server
bs
由于当前的系统已经默认安装了openssh
1、关闭防⽕墙与SELinux(不关SElinux导致sshd的端⼝
⽆法修改)2、配置yum源
JumpServer配置外⽹YUM源 => 阿⾥云
RealServer配置本地YUM源 => 把光盘镜像作为仓库(⾃建YUM仓库)
① 挂载光盘
# 关闭firewalld防⽕墙
# 临时关闭
systemctl stop firewalld
# 关闭开机⾃启动
systemctl disable firewalld
# 关闭selinux
# 临时关闭
setenforce 0
# 修改配置⽂件 永久关闭
vim /etc/selinux/config
SELINUX=disabled
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS
Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache② 编写local.repo⽂件
3、openssh软件的安装
SSH服务底层的软件名称叫做openssh,open开源,ssh就是ssh服务。openssh属于C/S架构
软件,其拥有客户端与服务器端。
客户端:ssh
服务端:openssh-server
安装步骤:
检查openssh是否安装成功
# mkdir /mnt/cdrom
# mount -o ro /dev/sr0 /mnt/cdrom
# chmod +x /etc/rc.local
# echo 'mount -o ro /dev/sr0 /mnt/cdrom' >> /etc/rc.local
# cd /etc/yum.repos.d
# vim local.repo
[local]
name=local yum
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
# yum install openssh -y
# rpm -qa |grep openssh

# yum list installed |grep openssh获取openssh⽣成的⽂件列表
# rpm -ql openssh-server
# 配置⽂件
/etc/ssh/sshd_config => ssh服务的主配置⽂件
/etc/sysconfig/sshd
# 服务管理脚本
/usr/lib/systemd/system/sshd.service => systemctl start sshd
# ⽂件共享服务 提供⽂件上传下载的服务
/usr/libexec/openssh/sftp-server
# ⼆进制⽂件程序⽂件
/usr/sbin/sshd
# 公钥⽣成⼯具
/usr/sbin/sshd-keygen
# man⼿册
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
# rpm -ql openssh-clients
# 客户端配置⽂件
/etc/ssh/ssh_config
# 远程copy命令 服务器间进⾏⽂件传输
/usr/bin/scp
# sftp客户端 上传下载⽂件操作
/usr/bin/sftp
/usr/bin/slogin
/usr/bin/ssh
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/bin/ssh-copy-id
/usr/bin/ssh-keyscan
# 客户端man⼿册4、查看并修改ssh服务端的配置⽂件
RealServer:禁⽌root账号远程登录
在配置⽂件设置permitRootlogin no,不允许root账户远程登录可以设置其他账户远程登录。
zhangsan
5、sshd服务管理
/usr/share/man/man1/scp.1.gz
/usr/share/man/man1/sftp.1.gz
/usr/share/man/man1/slogin.1.gz
/usr/share/man/man1/ssh-add.1.gz
/usr/share/man/man1/ssh-agent.1.gz
/usr/share/man/man1/ssh-copy-id.1.gz
/usr/share/man/man1/ssh-keyscan.1.gz
/usr/share/man/man1/ssh.1.gz
/usr/share/man/man5/ssh_config.5.gz
/usr/share/man/man8/ssh-pkcs11-helper.8.gz
# man 5 sshd_config
# man 5 sshd_config
PermitRootLogin => yes or no,默认为yes 代表允许通过root账号远程登录此服务器
# vim /etc/ssh/sshd_config
38⾏ PermitRootLogin no⼆、SSH服务任务解决⽅案
1、创建⽤户并授权
JumpServer跳板机创建⽤户并授权
第⼀步:创建⽤户与⽤户组(html前端组,tom与jerry)
第⼆步:为⽤户添加密码
# systemctl restart sshd => 重启
# systemctl status sshd => 状态
# systemctl stop sshd => 停⽌
# systemctl start sshd => 启动
# systemctl enable sshd => 开机⾃启动
# systemctl disable sshd => 开机不⾃启
# ps -ef |grep sshd => 进程

# netstat -tnlp |grep sshd => 端⼝

# ss -naltp |grep sshd
# 创建html前端组
# groupadd html
# 创建组内⽤户tom与jerry
# useradd -g html tom
# useradd -g html jerry# echo 123456 |passwd --stdin tom
# echo 123456 |passwd --stdin jerry
第三步:为开发⼈员创建数据⽬录并且设置相应的权限
① 创建⽤户的数据⽬录:
# mkdir -p /code/html => 前端组
# ll -d /code/html
drwxr-xr-x. 2 root root 6 May 24 10:36 /code/html
② 更改⽬录的⽂件所属组(更改为html,代表html组内成员可以对这个⽬录进⾏管理)
# chgrp -R html /code/html
drwxr-xr-x. 2 root html 6 May 24 10:36 /code/html
# chmod -R g+w /code/html
drwxrwxr-x. 2 root html 6 May 24 10:36 /code/html
③ 添加粘滞位权限,防⽌误删除操作
# chmod 1770 /code/html
drwxrwx--T. 2 root html 6 May 24 10:36 /code/html
刚才我们做了什么
由于root不能远程登录,我们创建了zhangsan,lisi两个账户,并且设置了密码
现在zhangsan。lisi两个程序猿需要对y服务器中的code⽬录进⾏编辑
将zhangsan. lisi都添加到附加组 code(使⽤g roupadd code提前创建好附加组)
usermod -g code zhangsan
User mod -g code lisi为code⽬录添加code组的权限
chgrp -R code /code/ #将code所属组修改为code组
chmod -R g+w /code/ 为code⽬录的组⽤户加上w权限、
在实际⼯作中,不断的添加或者移除⽤户的组⻆⾊
2、测试⽤户权限
测试⽤户权限是否设置成功,可以结合第1步⼀起完成
3、禁⽤root登录
RealServer服务器端:
4、更改SSH默认端⼝
RealServer服务器端:
刚才做什么什么事情
1.修改 vim /etc/ssh/sshd_config 第17⾏的# 删除,22换成9999
# vim /etc/ssh/sshd_config
38⾏ PermitRootLogin no
# vim /etc/ssh/sshd_config
17⾏ Port 99992.重启sshd服务,
setenforce 0 停⽤selinux
systemctl stop firewalls 停⽤防⽕墙
systemctl restart ssh
重启ssh服务
ssh连接服务器,如果服务端⼝是22,可以不⽤添加-p选项
如果不是22端⼝,就不许添加-p选项
s sh -p9999 -llisi 192.168.71.135
Ssh -p9999 lisi@192.168.71.135
5、重启SSH服务
restart与reload的本质区别:
① restart其实相当于stop然后在start
② reload不停⽌现有业务,只是重新加载sshd对应的配置⽂件
6、在RealServer创建⼀个code账号
测试:在JumpServer远程连接RealServer
# systemctl restart sshd

# systemctl reload sshd
# useradd code
# echo 123456 |passwd --stdin code7、SSH客户端不验证指纹
第⼀次连接远程服务器时:
如果我们不想验证指纹,可以通过更改SSH客户端的配置⽂件
JumpServer:
8、⽤专业⼯具pwgen⽣成⽤户密码
在实际⽣产环境中,其⽤户密码⼀定不要⼿⼯设置,建议使⽤专业的密码⽣成⼯具如pwgen。
① 安装随机密码⽣成⼯具pwgen
② 使⽤pwgen⼯具⽣成随机密码
③ 给账号code设置密码
第⼀步:创建code开发者账号
# ssh -p 3721 code@11.1.1.100
The authenticity of host '11.1.1.100 (11.1.1.100)' can't be established.
ECDSA key fingerprint is
SHA256:Y/cQNWWkX15o2MsJ5HOQBI2m8S33qIA+x3zys8J4pOY.
ECDSA key fingerprint is
MD5:76:61:86:8b:d5:ee:bf:9c:60:e6:12:fa:f6:f0:74:36.
Are you sure you want to continue connecting (yes/no)?yes
Warning: Permanently added '11.1.1.100' (ECDSA) to the list of known
hosts.
# vim /etc/ssh/ssh_config
35⾏ StrictHostKeyChecking no# useradd code
第⼆步:配置EPEL源,安装pwgen⼯具
# wget -O /etc/yum.repos.d/epel.repo
http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all
# yum makecache
第三步:安装pwgen密码⽣成⼯具
# yum install pwgen -y
第四步:使⽤pwgen⽣成随机密码
# pwgen -cnBs1 10 1
扩展:pwgen密码⽣成器的使⽤
# pwgen --help
# ⽤法: pwgen 选项参数 ⻓度 ⽣成个数
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]
# 密码中⾄少包含⼀个⼤写字⺟
-c or –capitalize
# 密码中不包含⼤写字⺟
-A or –no-capitalize
# 密码中⾄少包含⼀个数字
-n or –numerals
# 密码中不包含数字
-0 or –no-numerals三、SSH服务补充
1、scp命令
主要功能:⽤于Linux系统与Linux系统之间进⾏⽂件的传输(上传、下载)
上传:
# 密码中⾄少包含⼀个特殊符号
-y or –symbols
# ⽣成完全随机密码
-s or –secure
# 密码中不包含歧义字符(例如1,l,O,0)
-B or –ambiguous
# 使⽤SHA1 hash给定的⽂件作为⼀个随机种⼦
-H or –sha1=path/to/file[#seed]
# 在列中打印⽣成的密码
-C
# 不要在列中打印⽣成的密码,即⼀⾏⼀个密码
-1
# 不要使⽤任何元⾳,以避免偶然的脏话
-v or –no-vowels下载:
scp 指定端⼝ - P ⼤写
ssh 指定端⼝ -p ⼩写
使⽤的默认的22端⼝,不需要指定
scp上传也要注意⽤户的权限问题,没有权限的⽬录⽆法上传
2、踢出⽤户
四、SSH免密登录解决⽅案
# scp [选项] 本地⽂件路径 远程⽤户名@远程服务器的IP地址:远程⽂件存储路径
-r : 递归上传,主要针对⽂件夹
-P : 更换了SSH服务的默认端⼝必须使⽤-P选项
# scp [选项] 远程⽤户名@远程服务器的IP地址:远程⽂件路径 本地⽂件存储路径
-r : 递归上传,主要针对⽂件夹
-P : 更换了SSH服务的默认端⼝必须使⽤-P选项
# 查看当前在线⽤户
w
# 踢出某个账号
pkill -kill -t pts/11、为什么需要免密登录
2、SSH认证原理(基于⽤户名密码+基于密钥对)
① 回顾基于⽤户名密码的认证⽅式
② 基于密钥对(公钥与私钥)的认证⽅式 => 免密登录A主机 => JumpServer,B主机 => RealServer
第⼀步:在A主机(JumpServer)⽣成⼀个密钥对(公钥和私钥)
第⼆步:把A主机的公钥通过⽹络拷⻉到B主机(RealServer)上,然后把其内容追加到B主机
的~/.ssh/authorized_keys
第三步:由A主机(JumpServer)向B主机(RealServer)发起登录请求,然后直接在B主机
上进⾏公钥⽐对(判断A主机的公钥是否已经存储在B主机的authorized_keys⽂件中),如果
存在且正确,则⽣成⼀个随机的字符串(如itcast),然后使⽤A主机的公钥对其加密得到加密
的后字符串(如dXdh,34njasz!z.)
第四步:通过⽹络,由B主机讲刚才⽣成的加密后的字符串传输给主机A,主机A接收到加密后
的字符串以后,使⽤⾃⼰本地存储的私钥进⾏解密操作(得到itcast)第五步:把解密得到的itcast发送到B主机,然后验证与刚才⽣成的字符串是否⼀致,如果⼀
致,返回登录成功。反之,则返回登录失败。
到此免密登录全部完成!
3、SSH免密登录的具体实现
SSH免密的实现思路⼀共分为三个步骤(三步⾛)
第⼀步:在A主机针对某个账号(tom或jerry)⽣成公钥与私钥
第⼆步:使⽤某些⽅法把公钥发送到B主机中,然后追加到authorized_keys⽂件中
第三步:测试是否实现免密登录
☆ ⽅法⼀:⽐较常⽤(tom)
① 在A主机针对某个账号⽣成公钥与私钥
注:如果不想⼀路确认,可以在ssh-keygen -P "",直接⽣成公私钥
② 使⽤ssh-copy-id把公钥⽂件中的内容传输到服务器端的~/.ssh/authorized_keys⽂件中
③ 在JumpServer客户端测试免密登录是否成功
# ssh-keygen
# ssh-copy-id -p 3712 code@11.1.1.100
code@11.1.1.100's password:123456☆ ⽅法⼆:集群常⽤(jerry)
① ⽣成公钥与私钥
② 把id_rsa.pub⽂件,scp到RealServer服务器端
③ 在RealServer服务器端,把id_rsa.pub⽂件中的内容追加到~/.ssh/authorized_keys⽂件中
注意事项:以上配置也⽐较简单,但是实际应⽤时要注意⽂件的权限
④ 测试免密是否成功
1.随便找个账户执⾏ ssh-keygen 按三次回撤,会在当前和⽤户的家⽬录下
# ssh -p 3721 code@11.1.1.100
# ssh-keygen
# scp -P 3721 ~/.ssh/id_rsa.pub code@11.1.1.100:/home/code/
# cd ~
# cat id_rsa.pub >> ~/.ssh/authorized_keys
RealServer:
~/.ssh : 700
~/.ssh/authorized_keys : 600
# ssh -p 3721 code@11.1.1.100~/.ssh/id_res 私钥
~/.ssh/id_rsa_pub 公钥
2.ssh-copy-id -p22 root@192.168.71.140 ⽤root'对root,⽤zhangsan对zhangsan免密
3.ssh -pxxx root@ip地址
三、练习
1. 新增账号
[root@localhost ~]# useradd zhangsan

[root@localhost ~]# useradd lisi

[root@localhost ~]# useradd wangwu

[root@localhost ~]# useradd zhaoliu

[root@localhost ~]# useradd aaa

[root@localhost ~]# useradd bbb

[root@localhost ~]# useradd ccc

[root@localhost ~]# useradd ddd

2. 设置和账号同名的密码,如果长度不够8位就重复账号
[root@localhost ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd wangwu
更改用户 wangwu 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd zhaoliu
更改用户 zhaoliu 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd aaa
更改用户 aaa 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd bbb
更改用户 bbb 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd ccc
更改用户 ccc 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd ddd
更改用户 ddd 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

3. 设置这些账户对 /code 目录具有写权限
[root@localhost ~]# chmod -R g+w /code/

[root@localhost ~]# usermod -g code zhangsan

[root@localhost ~]# usermod -g code lisi

[root@localhost ~]# usermod -g code wangwu

[root@localhost ~]# usermod -g code zhaoliu

[root@localhost ~]# usermod -g code aaa

[root@localhost ~]# usermod -g code bbb

[root@localhost ~]# usermod -g code ccc

[root@localhost ~]# usermod -g code ddd

4. 为以上用户设置免密登录
[root@localhost ~]# su zhangsan

[zhangsan@localhost root]$ ssh-keygen

[zhangsan@localhost root]$ cd

[zhangsan@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[zhangsan@localhost ~]$ ssh-copy-id root@192.168.8.132

[zhangsan@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:25:06 2024 from 192.168.8.131

[root@localhost ~]# su lisi

[lisi@localhost root]$ ssh-keygen

[lisi@localhost root]$ cd

[lisi@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[lisi@localhost ~]$ ssh-copy-id root@192.168.8.132

[lisi@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:26:01 2024 from 192.168.8.131

[root@localhost ~]# su wangwu

[lisi@localhost root]$ ssh-keygen

[wangwu@localhost root]$ cd

[wangwu@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[wangwu@localhost ~]$ ssh-copy-id root@192.168.8.132

[wangwu@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:27:10 2024 from 192.168.8.131

[root@localhost ~]# su zhaoliu

[zhaoliu@localhost root]$ ssh-keygen

[zhaoliu@localhost root]$ cd

[zhaoliu@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[zhaoliu@localhost ~]$ ssh-copy-id root@192.168.8.132

[zaholiu@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:27:45 2024 from 192.168.8.131

[root@localhost ~]# su localhosta

[localhosta@localhost root]$ ssh-keygen

[localhosta@localhost root]$ cd

[localhosta@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[localhosta@localhost ~]$ ssh-copy-id root@192.168.8.132

[localhosta@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:28:06 2024 from 192.168.8.131

[root@localhost ~]# su bbb

[bbb@localhost root]$ ssh-keygen

[bbb@localhost root]$ cd

[bbb@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[bbb@localhost ~]$ ssh-copy-id root@192.168.8.132

[bbb@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:29:01 2024 from 192.168.8.131

[root@localhost ~]# su ccc

[ccc@localhost root]$ ssh-keygen

[ccc@localhost root]$ cd

[ccc@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[ccc@localhost ~]$ ssh-copy-id root@192.168.8.132

[ccc@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:29:23 2024 from 192.168.8.131

[root@localhost ~]# su ddd

[ddd@localhost root]$ ssh-keygen

[ddd@localhost root]$ cd

[ddd@localhost ~]$ ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[ddd@localhost ~]$ ssh-copy-id root@192.168.8.132

[ddd@localhost ~]$ ssh -lroot 192.168.8.132

Last login: Wed Jul 17 16:40:01 2024 from 192.168.8.131

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值