设置ip
如下图
将desktop ip设置为真机ip加100,即为192.168.122.101
同理将server设置为真机ip加200,为192.168.122.201
sshd.service服务
systemctl status sshd.service 查看服务器端的sshd-service状态
systemctl start sshd.service 打开服务器端sshd.service服务
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
客户端连接方式
ssh 远程主机用户@远程主机ip
当当前主机第一次连接陌生主机时
会自动建立.ssh/know_hosts
这个文中记录的是连接过的主机信息
#
[email protected]‘s password: #输入密码连接成功
exit 推出连接
ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具
如上图,当直接连接(不加-X)时,gedit不显示,当加上-X,调用远程主机的图形功能,gedit显示出来
.分发钥匙给desktop(客户端)主机 注意:先将用户密码认证状态改为yesssh 远程主机用户@远程主机IP
command 直接在远程主机运行某条命令
例如用desktop端在server端桌面建立文件file{1..3}
用desktop端在server端桌面删除文件file{1..3}
在server端显示连接信息
w -f
ps aux |grep pts/0 显示pts/0具体信息
给ssh服务添加新的认证方式 KEY认证
1.生成锁和钥匙server端
[root@localhost ~]# ssh-keygen ##生成密钥的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #保存加密字符的文件用默认
Created directory '/root/.ssh'.
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. ##公钥查看该目录下文件 ls /root/.ssh
注意:上图中id_rsa:私钥(就是钥匙)id_rsa.pub :公钥(就是锁)。
2.添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.122.201
ssh-copy-id 添加key认证方式的工具
-i 指定加密key文件
/root/.ssh/id_rsa.pub 加密key
root 加密用户为root
192.168.122.201 被加密主机ip
注意:要确认被加密主机的密码。
Test:在ssh-server配置文件中更改用户密码认证状态,yes为支持no为关闭
① vim /etc/ssh/sshd_config
②在78行将状态改为no
③保存退出(wq)
④重启服务(systemctl restart sshd.service)否则无法生效
⑤server端主机无法连接
证明:当用户密码认证状态改为no的时候,给远程主机(server端主机)加上锁后,desktop端主机不能连接。
#在服务端[root@server0 ~]# scp /root/.ssh/id_rsa root@IP:/root/.ssh/
scp 以超级用户的身份复制
/root/.ssh/id_rsa 复制该文件(钥匙)
root@客户端ip ip地址为客户端的主机(desktop端主机)以root身份
:/root/.ssh/ 将复制的文件存在被指定主机的该地址
当分发给client端主机钥匙后,在其/root/.ssh/目录下可以找到id_rsa文件,这个时候,在用户认证状态为no的时候,也可以访问server端主机啦。
#在客户端
ssh [email protected] #连接不需要密码#在服务端
rm -fr /root/.ssh/authorized_keys ##当此文件被删除,客户端解密文件失效
此时连接时需要密码
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys ##从新生成锁文件,解密文件功能恢复
.sshd的安全配置 ####
1.禁止原始认证方式
78 PasswordAuthentication no|yes ##开启或关闭ssh的默认认证方式
关闭后无法连接
48 PermitRootLogin no|yes ##开启或关闭root用户的登陆权限
同样无法连接
79 AllowUsers westos ##用户白名单,当前设定是只允许westos登陆
80 DenyUsers linux ##用户黑名单,当前设定是只不允许linux登陆