远程连接管理

一、Openssh

1.SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。

openssh即开启对外开放连接的接口
2. 对称加密
1)对文件进行加密

openssl enc -des3 -salt -a -in file -out file.des3 #加密文件;-des3加密算法,-salt默认参数,-a以base流形式加密(默认),-in需要加密的文件,-out输出加密文件

在这里插入图片描述
在这里插入图片描述
2)对文件解密

 openssl enc -des3 -d -salt -a -in file.des3 -out file #解密文件;-d解密

在这里插入图片描述
3.单向加密:加密不可逆,加密之后不能加密只能用来验证数据完整性

md5sum file #提取特征码
在这里插入图片描述
openssl dgst -md5 file #dgst关键字,-md5加密算法
在这里插入图片描述
二、SSH的工作原理

SSH是由服务端和客户端组成,服务端是一个守护进程,它在后台运行并响应来自客户端的连接请求版本号协商阶段,SSH目前包括 SSH1和SSH2两个版本, 双方通过版本协商确定使用的
1)版本密钥和算法协商阶段,SSH支持多种加密算法, 双方根据本端和对端支持的算法,协商出最终使用的
2)算法认证阶段,SSH客户端向服务器端发起认证请求, 服务器端对客户端进行
3)认证会话请求阶段, 认证通过后,客户端向服务器端发送会话请求
4)交互会话阶段 ,会话请求通过后,服务器端和客户端进行信息的交互

注:openssh 服务的服务端:sshd
     openssh 服务的客户端:ssh

三、远程连接的步骤

  1. 将虚拟机的网络连接设置改为桥接模式,ping 主机 是否可以ping通。

在这里插入图片描述

  1. 分别设置一个虚拟机为服务器端,另一个为客户端。

  2. 在客户端连接sshd

1)远程主机首次登陆
在这里插入图片描述

2)指定用户连接主机

例:在客户端连接ip 为192.168.0.155

ssh root@192.168.0.155

在这里插入图片描述
即可连接到ip为192.168.0.155 的虚拟机

四、服务器端与客户端间的处理

  1. 在服务器端下发文件

例:向ip为192.168.0.126 的虚拟机下发aa文件

   scp  aa   root@192.168.0.126 :/root    

在这里插入图片描述
然后在客户端查看是否会有aa文件,查看内容
在这里插入图片描述

  1. ssh服务添加的认证–key

1)生成锁和钥匙

ssh -keygen(若设置密码,不少于四位)

免密key认证

[root@wq ~]# 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): #可以为空,如果想为空必须大于4位
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.##私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥
The key fingerprint is:
SHA256:Ad5CGDT2E3/oIFvxnJiIN0KHhMMgY2Usv5zqq4hUTX0 root@wq
The key's randomart image is:
+---[RSA 2048]----+
|*+==*o=          |
|==o=.*.@ o       |
| .= =.X.OE.      |
|   +o= =.o       |
|  ..+.  S        |
|  .+             |
| ..              |
|+.               |
|*o.              |
+----[SHA256]-----+

2)在服务端对ssh加密认证

 ssh-copy-id   -i   /root/.ssh/id_rsa.pub   root@服务端IP

在这里插入图片描述
五、安全配置
1.SSH相关配置文件
more /etc/ssh/sshd_config #服务端配置文件
more /etc/ssh/ssh_config #客户端配置文件
vi /etc/ssh/sshd_config,在下面“蓝线标记”编辑设置的内容

  # To disable tunneled clear text passwords, change to no here!
 63 #PasswordAuthentication yes	
 64 #PermitEmptyPasswords no##开启或关闭root用户的登陆权限
 65 PasswordAuthentication yes##开启或关闭ssh的默认认证方式

在这里插入图片描述

2.黑名单与白名单
1)黑名单

除了黑名单用户,其他人均可远程连接主机

例:将Alice用户设置为黑名单用户
在这里插入图片描述
检测:客户端不能通过远程连接到alice用户
在这里插入图片描述
(相当于在服务器端将alice用户保护起来)

2)白名单
除了白名单用户,其他人均不可远程连接主机
例:将alice用户设置为白名单用户
在这里插入图片描述
检测:其他用户均不能通过ssh远程连接
在这里插入图片描述

六、客户端免密登陆服务器

通过密码对进行登录

1).在客户端生成密钥对

注:生成密钥对前,需用户身份。例如:当user1需要登录到服务端时,user1必须在客户端生成自己的密钥文件。其他用户也一样。

1  # su - user1
2  # ssh-keygen -t rsa    //生成密钥文件
3 Generating public/private rsa key pair.
4 Enter file in which to save the key (/root/.ssh/id_rsa):   //按回车
5 Enter passphrase (empty for no passphrase): //设置保护私钥文件的密码,即密钥登录时的密码
6 Enter same passphrase again:  //再次输入保护私钥文件的密码
7 Your identification has been saved in /root/.ssh/id_rsa.
8 Your public key has been saved in /root/.ssh/id_rsa.pub.
9 The key fingerprint is:
10 33:ee:01:7d:c3:74:83:13:ef:67:ee:d7:60:2d:e1:16 root@localhost

ll -a .ssh/

1 total 16
2drwx------. 2 root root   57 Nov 14 03:09 .
3dr-xr-x---. 5 root root 4096 Nov 14 01:40 ..
4-rw-------. 1 root root 1675 Nov 14 03:09 id_rsa //创建的私钥
5-rw-r--r--. 1 root root  392 Nov 14 03:09 id_rsa.pub	//创建的公钥
6-rw-r--r--. 1 root root  350 Nov 14 02:14 known_hosts

2)将公钥文件上传到服务器

scp .ssh/id_rsa.pub user1@192.168.76.129(服务器IP):/home/user1/

3).在服务器端,将公钥文件添加到相应用户的密钥库里
  mkdir -p /home/user1/.ssh/ //注意,这里创建的。ssh目录权限必需是除自己外,对其他用户只读,也就是权限位设置为644,
  mv /home/user1/id_rsa.pub /home/user1/,ssh/authorized_keys //由于生成的公钥名称与指定的公钥名称不符,因此需要将生成的文件名换成authorized_keys即可。
 
4).修改sshd_config配置文件:

vim /etc/ssh/sshd_config

1 PasswordAuthentication  no  //禁用口令验证方式,不能把原有的2 PasswordAuthentication  yes注释掉,注释后,就算没有公钥也能通过口令登录,这样不安全,而且失去了密钥验证的意义。
3 RSAAuthentication yes   //启用RSA验证
4 PubkeyAuthentication yes  //启用公钥验证
5 AuthorizedKeysFile     .ssh/authorized_keys   //启用公钥文件位置,后面的路径是设置公钥存放文件的位置保存修改好的配置,退出。

5).重启sshd服务

systemctl   restart    sshd

3.登录服务器
  1.Linux客户机
   ssh 192.168.1.100 //输入服务器IP登录,不加用户名默认以root身份登录
  或者 ssh user1@192.168.76.129 //以user1身份登入服务器

文件传输

**1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录)

2.上传本地文件到服务器 scp /path/filename username@servername:/path

3.从服务器下载整个目录 scp -r
username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

4.上传目录到服务器 scp -r local_dir username@servername:remote_dir**

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值