1.sshd简介
sshd=secure shell
可以通过网络在主机中开启shell的服务
什么是sshd服务?
客户端主机通过网络在服务端主机中开启服务端主机shell的服务
客户端通过网络连接服务端,并且控制服务端,也就是客户端开启了服务端的shell
客户端软件 sshd
(1)连接方式:
ssh username@ip ##文件模式的连接
ssh -X username@ip ##可以在连接成功之后开机图形
注意:!!!!
第一次链接陌生主机是要建立认证文件,所以会询问是否建立,需要输入yes,再次链接 此台主机时, 因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
如果不是纯净的环境,要删除/root/.ssh/?
客户端主机第一次连接服务端主机会在这个目录下生成known_hosts这个文件,为了验证这个实验效果,所以先将这个目录清空或者直接删除这个隐藏目录
直接在家目录下面输入ls -a(查看所有文件,包括非隐藏文件和隐藏文件) 或者l.(只查看隐藏文件) 如果没有.ssh文件,说明没有连接过远程主机(服务端主机)
(2)远程复制:
scp file root@ip:dir ##上传
scp root@ip:file dir ##下载
步骤:
- sshd=secure shell: 远程通过网络打开指定用户shell
- 在打开一个虚拟机 更换网络+200
- ifconfig eth0查看 删除/.ssh/文件
- 重命名hostname exit 还可以换背景颜色和字体大小
- 两个虚拟机都要连上网络,删.ssh文件,重命名
做sshd服务之前要先设置网络:
实验环境说明:本实验是在两台虚拟机中做,server主机为服务端(172.25.254.222),desktop主机为客户端(172.25.254.162)
为了区分两台虚拟机,可以更改服务端的颜色。edit–>profile perferences
用客户端主机连接服务端主机
注意有颜色的变成了客户端,第二次做作业网络号和颜色和第一次不一样,注意不要被混淆,但是还是client去连接server(client:172.25.254.111 server:172.25.254.211 )
出现known_hosts文件
cat known_hosts 查看该文件的内容 会显示server主机的信息
注意客户端连接服务端之后又logout了
#################################################
成功后并且开启对方的图形编辑模式的连接方式(gedit 、firefox等)
ssh -X username@ip ##可以在连接成功之后开机图形
当然此时在客户端输入firefox就可以控制服务端的图形编辑模式了,也就是可以打开firefox了。
远程复制:
此实验不需要客户端主机控制服务端主机(将之前的连接退出exit),只需要知道对方的ip及存在的帐号和密码就可以进行上传和下载。
scp file root@ip:dir ##上传
scp root@ip:file dir ##下载
下载:
重点注意:为了防止错误,所有的路径都采用绝对路径,并且上传或者下载目录的时候加上 -r
命令格式:scp file root@ip:dir 上传
将客户端主机上的file文件复制到远程主机的dir (相当于上传文件)
2.sshd 的key认证(免密操作)
(1)为什么要进行免密操作?
如果客户端知道服务端主机的ip地址和密码,就可以远程操控服务端
如果任意一个客户端知道服务端主机的ip地址和密码,并且知道它里面的重要文件存放路径
那么就可以拷贝服务端的文件
这样的操作在实际企业当中非常不安全
(2)怎样进行免密操作?
采用钥匙和锁的方式,服务端想让客户端什么时候连就什么时候连
步骤一:在服务端输入:ssh-keygen ,生成钥匙和密码 , id_rsa是钥匙 id_rsa.pub是锁
在服务端输入 ssh-keygen 三次回车 ,每次回车都有原因 第一次回车是钥匙和密码存放路径(可以直接回车,存放在默认路径下)
第二次回车是密码(可以直接回车,不设置密码)
第三次回车也是密码(可以直接回车,不设置密码)
1:服务端生成key认证
[root@server ~]# ssh-keygen ##生成密钥
sshy-keygen -f /root/.ssh/id_rsa -p ' ' ##私钥
sshy-keygen -f /root/.ssh/id_rsa .pub -p ' ' ##公钥
1)上锁
ssh-copy-id -i /root/.ssh/id_rsa.pub