1. 设定实验环境(desktop虚拟机 和 server虚拟机)
server ip是 真机ip+100(真机ip50以内,大于50的话则只加10)
desktop ip是 真机ip+200(真机ip50以内,大于50的话则只加20)
-
配置desktop虚拟机
-
设置虚拟机名字
hostnamectl set-hostname desktop+ip
-
设置虚拟机ip地址,依次执行下面的操作
cd /etc/sysconfig/network-scripts/
ls
#列出该包下的所有文件vim ifcfg-eth0
#修改配置文件将BOOTPROTO的值改为none
加一行IPADDR,并给它赋值你要设置的ip地址
加一行PREFIX,并给它赋值24
-
然后重新启用网络即可
systemctl restart network
重新启用网络ifconfig
此时再看 ip ,发现 ip 已经成功修改了 -
如果以前有,则删除原有的公钥私钥文件
rm -fr /root/.ssh/
-
-
配置server虚拟机
-
设置虚拟机的名字
hostnamectl set-hostname desktop+ip
-
设置虚拟机ip地址,依次执行下面的操作
cd /etc/sysconfig/network-scripts/
ls
#列出该包下的所有文件vim ifcfg-eth0
#修改配置文件将BOOTPROTO的值改为none
加一行IPADDR,并给它赋值你要设置的ip地址
加一行PREFIX,并给它赋值24
-
然后重新启用网络即可
systemctl restart network
重新启用网络ifconfig
此时再看 ip ,发现 ip 已经成功修改了 -
如果以前有,则删除原有的公钥私钥文件
rm -fr /root/.ssh/
-
2. ssh 命令的使用方式
-
连接远程主机,按照以下步骤操作即可
ssh root@172.25.254.120
(@前是远程主机的用户名,@后是远程主机的ip地址)yes(第一次建立连接需要确认一次你是否要与远程机建立连接)
redhat(远程主机 root 用户的密码)
cd Desktop
进入远程主机的Desktop目录touch Despicable_Me
会发现远程机的桌面多了一个名为 Depicable_Me 的文件logout
退出连接 -
如果要打开远程主机的图形工具,则再建立连接时加一个参数
ssh -X root@172.25.254.120
redhat
输入密码,建立连接firefox
这样你就打开了 ip地址为 172.25.254.120 的虚拟机的 firefox 浏览器此时 firefox 的进程并没有在打开浏览器的那台虚拟机上,而是在与远程机建立连接的本机上
这时候停掉 firefox 的进程,那么远程机打开的 firefox 浏览器则也会关闭
3. scp 命令的使用方式
- 远程拷贝分为两种:
- 从本地拷贝到远程服务器
- 从远程服务器拷贝到本地
-
从本地拷贝文件到远程服务器
scp 本地文件路径 用户名@计算机IP(或者计算机名称):远程路径
例如:
scp /root/Desktop/Despicable_Me root@172.25.254.122:/root/Desktop/
就是将本地
/root/Desktop/
路径下的 Despicable_Me 的文件拷贝到 ip地址为:172.25.254.122 的 root 用户名的/root/Desktop/
路径下 -
从本地拷贝文件夹到远程服务器
scp -r 目录名 用户名@计算机IP(或者计算机名称):远程路径
其实也和上面的大同小异,只不过这个是拷贝一个文件夹而已
-
从远程服务器拷贝文件到本地
scp 用户名@计算机IP(或者计算机名称):远程路径 本地路径
例如:
scp root@172.25.254.122:/root/Desktop/Despicable_Me /root/Desktop/
就是将远程服务器
/root/Desktop/
路径下的Despicable_Me 的文件拷贝到本地/root/Desktop/
路径下 -
从远程服务器拷贝文件夹到本地
scp -r 用户名@计算机IP或者(或者计算机名称):远程路径 本地路径
4. 密钥认证
-
生成密钥
ssh-keygen
三次回车即可生成密钥,位置是默认位置:
/root/.ssh/
-
查看密钥
cd /root/.ssh/
进入存放密钥的目录ls
查看该目录下有哪些文件此时会发现,该目录下有两个文件,id_rsa 私钥 ;id_rsa.pub 公钥模板
-
本机加密
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.220
这块的 ip 是本机的 ip -
关闭原始认证(密码认证)
vim /etc/ssh/sshd_config
编辑配置文件修改 78 行的 PasswordAuthentication 的值为 no 关闭原始认证
systemctl restart sshd.service
重启服务 -
将私钥给别人,别人就可以密钥认证与自己建立连接
scp /root/.ssh/id_rsa root@172.25.254.120:/root/.ssh/
将自己的私钥发给 ip 地址为 172.25.254.120 的虚拟机,这样别人就可以通过密钥认证与我建立连接了,别人只有输入以下命令就可以了
ssh root@172.25.254.220
与服务器建立连接 -
服务器可以通过修改
/root/.ssh/
下的 authorized_keys 文件的名字以达到想让别人建立连接就连接,不想让别人连接就不连接的目的cd /root/.ssh/
进入存放公钥私钥的文件夹mv authorized_keys authorized_keys.haha
通过修改了 authorized_keys 文件的名字,就达到了不让别人建立连接的目的
5. 密钥认证与密码认证的对比
密钥认证相比于密码认证,它的安全性更高,而且可以做到想让谁与自己建立连接就让谁与自己建立连接,
不想让谁与自己建立连接就不然谁与自己建立连接。而且还可以让以前与自己密钥认证过的用户随时与自己
建立不上连接(通过修改文件名)
总而言之,密钥认证更安全一些