ssh连接的时候客户端的公钥存在服务端的啥地方?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh连接的时候客户端的公钥存在服务端的啥地方?相关的知识,希望对你有一定的参考价值。
当在c1通过ssh root@x.x.x.x的时候连接到s1的时候,可以查看到c1下/root/.ssh/known_hosts里面存有s1的公钥信息,但在s1上的/root/.ssh/known_hosts里面确是空的;更具鸟哥私房菜里面的说法,c1也是会给s1传一份自己的公钥的,这样才可以正常通信,求大神指点这个c1传给s1的公钥文件存储在什么地方?
客户端 ssh-keygen 产生公钥与私钥服务端 /root/.ssh/authorized_keys 。ssh是隐藏文件夹 ,追加到 authorized_keys 文件最后
root的家目录 /root /
其他用户 的家目录 /home/用户名/ 参考技术A 使用 ssh-copy-id 命令。
你从c1向s1传送一次再说。追问
你说的这个应该是通过密钥免认证的模式,跟我问的不是同一个模式
你说的这个应该是通过密钥免认证的模式,跟我问的不是同一个模式
追答“传一份自己的公钥的,这样才可以正常通信”,这不就是你要的免密码认证?不是“免密钥”。
追问我得意思是通过密码认证的方式,两台电脑之间会自动交换公钥,我的意思是想找到它们自动交换后服务端主机上关于客户端的公钥信息。(想验证一下密码认证的本质是不是只要双方有各自的公钥就可以通信,而不是去直接通过ssh-copy-it看直接交换公钥能不能通信)
追答电脑之间**不**会自动交换公钥。nnnd 这破百度,加粗字体有问题。
通过密码认证的方式时,那不是交互公钥。只是记住了对方电脑的指纹,fingerprint。
哈哈,那应该是我表达有误!多谢了!!
本回答被提问者采纳linux基础练习10
1、实现sshd免密登录
ssh服务默认安装系统的时候会自动安装,即使最小化安装也会安装,可以不用我们手动安装,需要实现ssh服务免密登录需要生产秘钥对
客户端上生成的公钥拷贝至服务端后,当客户端在发送连接请求后,服务端得到客户端的请求后,会在authorized_key文件中查找公钥,如果有响应的ip和用户,就会随机生成一个字符串,服务端将生成的随机字符串利用拷贝过来的公钥加密之后发送给客户端,客户端会利用自己的私钥进行解密,解密完的字符串在发回给服务端,服务端跟之前的字符串进行比对,如果一致,就允许免密登录
利用在客户端生成秘钥对后,会默认放在用户家目录中.ssh隐藏目录中会有秘钥对
ssh-keygen 生成秘钥对 可以指定 -t 加密算法 -f指定生成的秘钥对放在哪。我这就不指定,表示为默认
ssh-copy-id -i .ssh/id_rsa.pub 192.168.23.114将私钥拷贝至服务端 如果只写ip地址将表示拷贝至对方机器root家目录中 也可以指定 用户名@ip 指定用户 第一次连接需要输入对方机器用户账号的密码 因为是基于ssh协议
默认生成了一个authorized_keys文件,里面存放着客户端发送过来的公钥
查看客户端公钥和服务端公钥,一模一样
接着,我们直接ssh 连接服务端,连接成功,不需要输入密码
2、编译安装dropbear实现SSH登录
dropbear默认系统没有安装,我们可以直接在网上搜索dropbear 源码包编译安装
wget https://matt.ucc.asn.au/dropbear/releases/dropbear-2018.76.tar.bz2
tar xf dropbear-2018.76.tar.bz2
解压到目录中
进到dropbear目录 执行以下命令 注意需要安装编译工具包,“development tools”
./configure --prefix=/data/dropbear --sysconfdir=/etc/dropbear 指定安装位置/data/dropbear
系统文件存放位置/data/dropbear
中间可能缺少需要安装的依赖包,我们根据提示安装
查看 INSTALL安装文件,使用系统的make指定编译的文件
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install
安装复制文件到目录中
安装时没有帮我们创建配置文件目录,手工创建一个
生成私钥
启动服务FE以前台执行 ,端口指定一个 ,因为22端口为系统自动ssh服务端口,所以需要换一个
接下来在别的机器上就可以直接使用 ssh root@ip 连接到本机
注意指定的端口如果不能连接,需要在ssh配置文件中将端口号写入默认的端口号后面
连接成功
3、实现单个用户及用户组使用sudo执行所有命令
利用系统自带的visudo编辑sudo的配置文件
vim /etc/sudoers修改配指文件
stephen ALL=(ALL) ALL
stephen为用户名 ,ALL表示可以在所有机器上可以在本机上登录,(ALL)表示代表以谁的身份执行ALL表示为所有人 最后一个ALL 表示可以执行所有命令 也可以指定单条命令/usr/bin/ls /
%wheel 表示组 ALL=(ALL) ALL 和上条一样 表示这个属于wheel这个组的所有用户可以代表root或者所有人执行所有命令
如果在执行的命令前加sudo 则不能执行
第一次执行需要输入密码为stephen这个用户的密码,可以在
stephen ALL=(ALL) NOPASSWD,ALL 可以加入NOPASSWD 免去输入密码
4、简述rsync用于那些场景,并对比scp有什么优点?
scp拷贝时。不管存在的文件有没有变化,scp拷贝的话会全部拷贝一遍。将会浪费网络资源
利用rsync复制的时候可以实现一个增量的复制,如果对方机器有相同的文件或者文件夹,rsync会对比,如果文件相同则不会复制。节约带宽,实用于文件同步,网站更新类
5、搭建DHCP服务,实现自动获取ip地址
第一步。首先安装dhcp服务软件当服务器。yum install dhcp
通过rpm -ql dhcp 查看dhcp服务主配置文件
/etc/dhcp/dhcpd.conf配置dhcp服务重要文件
启动dhcp服务 systemctl start dhcpd
发现报错。查看一下dhcp配置文件有没有问题
发现没有配置。但是有个范例文件。我们拷贝过来覆盖原文件
cp /usr/share/doc/dhcp*/dhcpd.conf /etc/dhcp/dhcpd.conf
拷贝过来后重新打开文件查看配置内容
修改一下需要分配的地址,和地址范围
开启dhcpd 服务发现正常运行没有报错
然后我们在客户机上重启一网络服务(一定要保证两台机在同一台网段,如果在虚拟机中一定要关掉虚拟机的自动分配地址免得冲突)看是否能获取到dhcp服务器的ip地址
发现已经获取到自动分配的地址,我们可以查看一下服务器的分配地址配置文件
在dhcp主机上查看已经分配出去的地址。
发现已经分配出去一个192.168.23.128的地址给centos6这台主机
到此简单的配置dhcp已经搭建好可以正常的使用了
我们还可以配置dhcp服务器让客户及获取网关和dns
客户机重启后获取了最新的dhcp参数
6、搭建PXE实现自动化安装系统
首先需要准备搭建好dhcp服务器让需要安装操作系统的电脑能够自动获取到ip地址和tftp服务器的地址好获取到grub引导文件
dhcp服务已经搭建好了
tftp服务可以用 yum install tftp-server 安装后 在启动即可
接着搭建基于网络的yum源
创建一个目录,将光盘挂载到目录中
在网络上已经可以看见目录光盘
准备应答文件让系统可自动安装修改将家目录中anaconda.cfg应答文件作为模板在基础之上修改
chmod a+r /var/www/html/ksdir/ks7-mini.cfg
需要给可读权限
关闭闭图形(text)。关闭防火墙,selinux。清空分区表。安装包选择一个基础安装
安装syslinux软件包
yum install syslinux 获取pexlinux.0文件
创建tftp目录,让客户机获取到安装文件及菜单
mkdir /var/lib/tftpboot/pexlinux.cfg/
拷贝syslinux软件包中。menu.c32,pexlinux.0,以及光盘中内核文件,initrd跟分区文件到tftp目录中,让客户机初始化启动
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pexlinux.cfg/default
拷贝光盘中isolinux.cfg文件拷贝到tftp目录中当启动菜单
修改配置文件 ks自动安装路径写上路径
新建虚拟机 内存分配1.5-2G免得内存不够装不上,网络需要和dhcp服务器在同一网段让客户机获取到dhcp地址,从而开始网络安装
不需要指定光盘文件
安装完成
7、搭建Cobbler实现自动化安装系统
首先需要配置主机能连上外网,yum 安装cobbler
需
要提前配置epel源的路径
启动程序后运行 cobbler check 检查提示,发现报错
启动httpd tftp 服务之后顺利启动提示
一共有8个步骤,一步一步改
修改 /etc/cobbler/settings 修改server地址改成内网段和next_server地址
修改自动安装的口令
使用 openssl passwd -l 生产加密口令
修改dhcp配置服务为1 表示由 cobbler服务自动生成dhcp配置文件
zhixing cobbler get-loaders 命令 从互联网下载 tftp所需要的配置文件
使用 cobbler sync 同步。自动讲下载的目录拷贝到tftp目录中
但是报错发现dhcp服务未启动
vim /etc/cobbler/dhcp.template
修改cobbler 提供的dhcp管理模板中 网络地址及地址段
使用 cobbler sync 同步dhcp服务
制作光盘镜像到http目录中
cobbler sync 之后发现已经同步完成
以上是关于ssh连接的时候客户端的公钥存在服务端的啥地方?的主要内容,如果未能解决你的问题,请参考以下文章