1.什么是sshd服务?
客户端主机通过网络在服务端主机中开启服务端主机shell的服务
客户端通过网络连接服务端,并且控制服务端,也就是客户端开启了服务端的shell
ssh (安全外壳协议)
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。
SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。
几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
2.搭建实验环境
说明:本实验是在两台虚拟机中做,server主机为服务端,desktop主机为客户端
主机的ip不知道可以采用命令查看 :
在虚拟机的shell中输入 ip addr show eth0 即可查看
在真机的shell中输入 ip addr show br0 即可查看
步骤一:先在真机中打开两个虚拟机 desktop和server
步骤二:配置两台主机的ip ,配置网络在进程管理中已经详细说过,这里就不再赘述
desktop主机的ip为172.25.254.111,该主机用于客户端测试
server主机的ip为172.25.254.211,该主机用于服务端配置
步骤三:在两台主机的shell中分别删除 /root/.ssh/(删除这个目录rm -rf /root/.ssh 或者删除这个目录下的文件rm -rf /root/.ssh/*均可以)
为什么要删除/root/.ssh/?
客户端主机第一次连接服务端主机会在这个目录下生成known_hosts这个文件,为了验证这个实验效果,所以先将这个目录清空或者直接删除这个隐藏目录
直接在家目录下面输入ls -a(查看所有文件,包括非隐藏文件和隐藏文件) 或者l.(只查看隐藏文件)
步骤四:然后改两个主机名字
在客户端主机输入 hostnamectl set-hostname client.westos.com(desktop主机)
在服务端主机输入 hostnamectl set-hostname server.westos.com(server主机)
3.sshd的相关内容
(1)连接方式:(客户端主机连接服务端主机)
文本模式的连接
客户端可以启用服务端的文本模式功能
一台主机可以和另外一台主机连接起来,并且可以操作对方的文本模式
如果是客户端连接服务端,则客户端可以操作服务端的文本模式
如果是服务端连接客户端,则服务端可以操作客户端的文本模式
命令格式为 ssh username@ip
说明:
username为被连接的主机的存在的任意用户,ip是被连接的主机的地址
记住:拿谁家的钥匙开谁家的门
具体操作过程如下:
步骤一:删除之前的认证文件
在客户端主机上输入cd,切换到家目录
ls -a 查看客户端主机文件,如果没有.ssh文件,说明没有连接过远程主机(服务端主机)
ls -ad /root/.ssh 直接查看是否有这个文件,如果显示没有,说明没有连过远程主机
步骤二:用客户端主机连接服务端主机
在客户端主机中输入: ssh root@172.25.254.211(server主机的ip)
注意:
如果是第一次连接的话会问yes或者no-->输入yes
然后让输入密码:server主机的密码
然后exit退出
步骤三:用client主机重新连接server主机: ssh root@172.25.254.211(server主机的ip)
拿谁家的钥匙开谁家的门 ,不一定是root用户 ,只要是目标主机的可用用户即可
注意:
这次会直接输入密码,没有问yes或者no,因为已经连接过一次,有.ssh文件
连接好之后exit退出
步骤四:在客户端主机中查看/root/.ssh/下的文件
cd /root/