ssh

SSH即Security Shell的意思,他可以将连线的封包进行加密技术,之后进行传输,因此相当的安全

客户端配置文件/etc/ssh/ssh_config
服务端配置文件/etc/ssh/sshd_config

ssh使用:ssh 用户@主机名
scp使用:本地复制到远端: scp -r 本地文件路径 用户@远程主机地址
远端复制到本地: scp -r 用户@远程主机地址 本地文件路径
sftp使用:sftp 用户@主机名

-a 归档
-v 显示过程
-r 子目录
-l 同步链接文件
-p 保留权限
-t 保留时间戳
-g 保留属组
-o 保留属主

如果是/etc/ ,复制过去的是目录下面的内容
如果是/etc,复制过去的是目录和目录下面的内容

ssh秘钥:客户端生成秘钥:ssh-keygen
客户端导入服务端:ssh-copy-id 用户@服务端地址

1>.ssh将连线的封包进行加密技术,之后进行传输

2>.ssh协定,在预设的状态下,本身就提供了两个服务器功能
一个就是类似telnet的远程连接使用shell的服务器,也就是俗称的ssh
另一个就是类似ftp服务的sftp-server,他提供更安全的ftp服务
3>.加密形式:公钥私钥(不对称加密)

4>.系统默认就安装了ssh服务端软件(openssh-server)

5>.ssh为一种sysV服务。可使用“service”指令来启动
service sshd start

6>.ssh服务器监听的端口为22号密钥

7>.ssh的配置文件存放在:/etc/ssh/目录中

8>.ssh-host 均为密钥文件
servies iptables stop 关闭防火墙

9.>拒绝别人用root远程
在ssh服务器上设置
vim /etc/ssh/sshd_config
PermitRootLogin no
systemctl restart sshd.service
拒绝别人用密码登录(必须用公私钥认证)
vim /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd.service

一、秘钥对验证
1.客户端创建秘钥对:
ssh-keygen
ls .ssh/
私钥文件:id_rsa, 公钥文件;id_rsa.pub
2.将公钥文件上传至服务器:
scp ~/.ssh/id_rsa.pub root@server:/tmp或者
ssh-copy-id server

二、远程访问
1.nmcli connection add type ethernet con-name conn1 ifname eno16777736
ip addr (client和server都进行此操作)
2.ping
主机秘钥被记录在本地用户家目录, .ssh隐藏目录known_hosts内
3.ssh root@server
4.w -f 确认远程登陆成功
5.ssh root@server hostname 免登陆,查看主机名


公钥私钥的原则:

一个公钥对应一个私钥。
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
  非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的,下面我就详细讲解一下两者的区别。

事例说明下:

例如:比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

Bob将他的公开密钥传送给Alice。
Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
Bob用他的私人密钥解密Alice的消息。
那么Bob怎么可以辨认Alice是不是真人还是冒充的.我们只要和上面的例子方法相反就可以了.


Alice用她的私人密钥对文件加密,从而对文件签名。
Alice将签名的文件传送给Bob。
Bob用Alice的公钥解密文件,从而验证签名。
通过例子大家应该有所了解吧!

原文地址:https://www.cnblogs.com/xmdjb/p/10949591.html