欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

超简单Debian安装SSH和证书免密登录指南

最编程 2024-08-03 12:49:09
...
  • 一、先安装
  • apt-get install -y ssh
  • 我这里已经安装好了就不截图了

  • 看下激活状态
  • service sshd status
  • sshd代表是一个可持续的长连接服务

网络异常,图片无法展示
|

  • 如果不是active就用systemctl start sshd激活,没有报错就可以

网络异常,图片无法展示
|


  • 只允许特定ip连接(仅允许client 客户端进行ssh 访问,其余所有主机的请求都应该拒绝;)

  • -P  --policy          定义默认策略
  • -L  --list            查看iptables规则列表
  • -A  --append          在规则列表的最后增加1条规则
  • -I  --insert          在指定的位置插入1条规则
  • -D  --delete          从规则列表中删除1条规则
  • -R  --replace        替换规则列表中的某条规则
  • -F  --flush          删除表中所有规则
  • -Z  --zero            将表中数据包计数器和流量计数器归零
  • -X  --delete-chain    删除自定义链
  • -v  --verbose        与-L他命令一起使用显示更多更详细的信息
  • 先清楚所有默认规则

  • iptables -F#清除预设表filter中的所有规则链的规则
  • iptables -X#清除预设表filter中使用者自定链中的规则

网络异常,图片无法展示
|

  • 先默认禁止所有
  • iptables -P INPUT DROP #进来的所有数据包丢弃
  • iptables -P FORWARD DROP #转发的所有数据包丢弃
  • iptables -P OUTPUT DROP #出去的所有数据包丢弃

网络异常,图片无法展示
|


  • 只允许ip为192.168.1.102/24的客户机可以ssh
iptables -A INPUT -s sip -d dip -p tcp --dport 2222 -j ACCEPT
iptables -A OUTPUT -d dip -d dip -p tcp --sport 2222 -j ACCEPT

网络异常,图片无法展示
|


网络异常,图片无法展示
|

  • 保存,重启也不丢失配置
  • 默认情况下,Debian 9的防火墙(iptables)规则不是持久化的,会在服务器下次重启的时候自动被清空。通过以下方法,可以把防火墙规则保存下来,并且在服务器重新启动的时候自动加载最新的防火墙规则。
  • 一、保存防火墙规则到文件中
iptables-save > /etc/iptables.up.rules
  • 二、配置启动后自动加载最新的防火墙规则
  • vi /etc/network/if-pre-up.d/iptables
  • /etc/network/if-pre-up.d/iptables文件内容如下:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.up.rules
  • 三、给文件增加可执行权限
chmod +x /etc/network/if-pre-up.d/iptables
  • 这里因为子shell的原因,他只会给父shell返回执行结果的值echo $?,可以做不了,就直接保存就好了
  • 四、配置完成,以后修改了防火墙规则,只需要执行
iptables-save > /etc/iptables.up.rules
  • 命令将最新的防火墙规则写入文件即可。

网络异常,图片无法展示
|


网络异常,图片无法展示
|


  • 配置 client 只能在 Chinaskill20 用户环境下可以免秘钥登录,端口
  • 号为 2222,并且拥有 root 控制权限。
  • 这里需要给ssh一个登录用户,因为root默认是被禁止登录的,所以需要创建一个登录用户,然后这里的2222端口也要添加为ssh服务端口

  • 添加ssh服务端口
echo port 2222 >> /etc/ssh/sshd_config

网络异常,图片无法展示
|

  • 重启下ssh服务
systemctl restart sshd


  • 当然还要记得配置网卡
  • 网上找了一个标准配置

  • 本机的配置


  • 给ssh创建登录用户,题目要求只能在chinaskill20用户环境下免密钥登录,就需要数字证书验证身份
  • 先创建用户
  • 附带家目录


  • 免密登录


  • 客户端 免密登录用户生成密钥
  • 创建用户

  • 生成公钥和私钥


  • 因为需要用chinaskill20登录后有root权限,就需要root暂时开启远程登陆,因为ssh-copy-id要登录root上传证书




  • 将公钥导入到认证文件



  • 解除注释sshd_config这三条





  • 将允许root登录和密码认证允许空密码登录都注释掉


  • 用私钥去验证身份免密登录