ssh
ssh 是一种协议, 基于RSA,openssh是它的开源实现(linux自带)
0x00 ssh
[root@zzy /]# ssh <user>@<host>:<port> //连接远程主机
ssh-keygen
:生成公钥和私钥(/
[root@zzy /]# ssh-keygen
ssh-copy-id -i @
将公钥复制到服务端的/~/.ssh/authorized_keys
[root@zzy /]# ssh-copy-id -i /~/.ssh/id_rsa.pub root@<ip>
file | effect |
---|---|
id_rsa | 生成的私钥 |
id_rasa.pub | 生成的公钥 |
authorized_keys | 服务器端与客户端的验证文件 |
known_keys | 记录客户端的公钥(不在队友列表里会报错) |
0x01 asymmetric encryption
非对称加密:生成一对公钥私钥,分别互相用来加解密
公钥复制到
authorized_keys
文件后, 客服端连接服务器,服务器做出响应并返回一个经过公钥加密的信息,客服端接收后用私钥解密后,再发送给服务器服务器验证通过,至此,完成了一次ssh连接
0x02 nfs server
场景:(一台客户机,一台NFS服务器,挂载目录为"/")
vim /etc/exports
:配置文件
showmount -e 192.168.1.105
:查看挂载目录
mount -t nfs 192.168.1.105:/root/.ssh /media
:
将服务器的root目录挂载在客户端,进入.ssh目录写入生成的公钥,成功免密登陆,并获得root权限。