linux学习之旅(九)&& ssh及加密控制

openssh-server

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

问题的引入:

有时候可能会发现,莫名奇妙桌面上多了一些自己没有碰过的东西,比如新建立的文件,有些配置的修改,可是自己能肯定完全没有操作过啊。此时,就要考虑可能是被远程主机知道了你的密码,连接上了你的服务器。
可以用(七)中所讲的知识,w ,ps去看进程信息,last,lastb分别去看有没有用户成功登陆或未成功登陆你的主机,关于ip的含义之前已经简单说明了。


*//上图表明,自己正在被ip为172.25.254.177远程登陆,ip为172.25.254.77未登陆成功。

*//用(八)所讲的控制服务也可以查看到此时被172.25.254.107连接


那么我们改如何让远程访问sshd服务呢?

1.客户端连接方式

ssh 远程主机用户@远程主机ip
两个服务器要连接,网段一定一样,即前三位ip相同

[root@foundation77 ~]# ssh root@172.25.254.177
The authenticity of host '172.25.254.177 (172.25.254.177)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes    ##连接陌生主机时需要建立认证关系
Warning: Permanently added '172.25.254.177' (ECDSA) to the list of known hosts.

root@172.25.254.177's password:                  ##远程用户密码
Last login: Sat Jul 22 21:39:01 2017
[root@localhost ~]#                              ##登陆成功

"ctrl  +  D   退出连接"

ssh的用法:

ssh      远程主机用户@远程主机ip     -X       // -X 参数 : 调用远程主机图形工具 ssh    
ssh    远程主机用户@远程主机ip    command     //直接在远程主机运行某条命令
  • 直接远程在 172.25.254.177完成了文件的创建

    *注: 即使这个操作不进入他人用户,但是在对方还是有你登陆过的记录

2.sshkey加密 — 设置允许的用户能进入

1.生成公钥私钥: ssh-keygen

[root@foundation77 ~]# ssh-keygen      ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   ##[enter]    
//加密字符保存文件(建议用默认),如果要加密码,最少5位
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):         ##[enter]       ##密钥密码,必须>4个字符
Enter same passphrase again:                ##[enter]       ##确认密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:                     
5e:8a:3d:75:0f:0d:fb:bb:c2:4a:9a:7c:b6:6b:84:d8  root@foundation77.ilt.example.com
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|            .    |
|             +   |
|       oS.o + .  |
|      .+E+.. +   |
|      . =...  o  |
|       . =+ o  . |
|        ++++ .o. |
+-----------------+
[root@foundation77 ~]# ls /root/.ssh/
id_rsa  id_rsa.pub
//id_rsa        ##私钥,就是钥匙
//id_rsa.pub    ##公钥,就是锁

2.添加key认证方式

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@localhost
ssh-copy-id     ##添加key认证方式的工具
-i          ##指定加密key文件
/root/.ssh/id_rsa.pub   ##加密key
root            ##加密用户为root
localhost       ##被加密主机ip,**当然也可以给别人的主机上锁,便于服务器管理


*//按步骤操作,出现了已添加上的提示,下图就是添加后生成了authorized_keys

3.分发钥匙给client主机,远程发送,或复制 — scp命令(有单独讲解)

[root@localhost ~]# scp /root/.ssh/id_rsa root@172.25.254.107:/root/.ssh/

用scp命令时,一定要 systemctl start sshd,不然白操作!!!
4.测试

[root@localhost~]# ssh root@172.25.254.177     ##通过id_rsa直接连接不需要输入用户密码
Last login: Sat Jul  22 23:10:43 2017              ##连接成功,没有密码

此时,如果主机将 /root/.ssh/authorized_keys删掉,那么发的钥匙就没用了,就又要密码了。

  • *tips:
  • ssd & sshd 区别: ssh 相当于客户端(client); sshd 相当于服务端(server)

3.提升openssh的安全级别

openssh-server配置文件: /etc/ssh/sshd_config
[root@localhost~]# vim  /etc/ssh/sshd_config
...
48 PermitRootLogin yes|no           ##是否允许超级用户登陆
49 AllowUsers student westos            ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell,即,只允许谁
50 DenyUsers westos             ##用户黑名单
78 PasswordAuthentication yes|no        ##是否开启用户密码认证,yes为支持no为关闭

应用举例:

/etc/ssh/sshd_configPasswordAuthentication yes连接关闭
查看man 5 sshd_config ,加Allowgroups root 变成root的组都可以进;
然后,usermod -G root student
student 就可以进入了 或者加 allowusers student 直接给用户student开权限 每次改变记得重新配置。

*对服务进行控制的简单方法:

两个文件: /etc/hosts.deny ; /etc/hosts.allow
在文件内添加帮助可以在 man 5 hosts.deny 与 man 5 hosts.allow 中查到

vim /etc/hosts.deny  ----------->  加sshd: ALL      //对所有连接拒绝
vim /etc/hosts.allow  ----------->   加sshd:<ip>      //单独对xxx开

两个一起改,可以改对单个用户认证开放,记得重置

  • hosts.allow 优先级比 hosts.deny高
  • 所以allow里面写的会覆盖deny相同的 ,即两个里面都写ALL是没用的
  • 即改即生效

额外的,用户还可以自己修改登陆成功的提示语
文件 /etc/motd : 作用:显示登陆字符

vim 打开文件 /etc/motd
里面写什么登陆成功就会提示什么。

  • 一个最简单的示例:
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值