Linux系统sshd服务
本次实验,需要用到两台虚拟机,其中一台作为客户端,一台作为服务端。开始操作前先将2台虚拟机配置好
1.修改主机名称
具体修改方式:在shell中执行hostnamectl set-hostname xxx.example.com
完成操作后要重新打开一个新shell,即刻生效
修改完成之后客户端为client,服务端为server
2.配置网络
首先查看真机ip
配置虚拟机ip
输入nm-connection-editor
删除原来的配置文件,在选择add自己创建自己想要的ip
选择自己的网卡
在设置ipv4,在Method下选择Manual在Add输入自己想要的ip地址,网络掩码设为24,网关部分空格一下即可,完成后save保存如下图
客户端的连接
1.让远程主机可以通过网络访问sshd服务,开始一个安全shell,在客户端打开实现方法:ssh 远程主机用户@远程主机ip(也就是我这里的服务端的用户和ip)
但是这种登陆方式只能在服务端进行文本操作,不能打开图形,要想打开图形只需在命令后加入 -X 即可
2、远程复制:
1)scp file aaa@qq.com:dir ##远程上传
scp file aaa@qq.com:/root/Desktop/ ##远程上传文件
scp -r test aaa@qq.com:/root/Desktop/ ##远程上传文件夹
2)scp aaa@qq.com:file dir ##远程下载
scp aaa@qq.com:/root/Desktop/file . ##远程下载文件
scp -r aaa@qq.com:/root/Desktop/test/ . ##远程下载文件夹
一、sshkey加密
1.生成公钥私钥
上图过程中
- 第一个冒号:加密字符保存文件(建议用默认,按回车键即可)
- 第二个冒号:**密码,应该大于四位(也可以为空,按回车即可)
- 第三个冒号:再次确认**密码。
id_rsa id_rsa.pub
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁
2.添加key认证方式
3.分发钥匙给client主机
[aaa@qq.com ~]# scp /root/.ssh/id_rsa aaa@qq.com:/root/.ssh/
4.测试
[aaa@qq.com ~]# ssh aaa@qq.com ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[aaa@qq.com ~]#
二、sshd的安全认证
1) openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登陆
50 AllowUsers branden ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
52 DenyUsers student root ##用户黑名单
48 PermitRootLogin yes|no ##是否允许超级用户登陆
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
50 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
52 DenyUsers westos ##用户黑名单
2) ssh登陆提示修改
- vim /etc/motd ##显示登陆后字符
- hello world ##在登陆后就会显示这个字符