debian安装ssh(傻瓜教程)+证书免密登录

  • 一、先安装
  • 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登录和密码认证允许空密码登录都注释掉

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

猜你喜欢

转载自blog.csdn.net/bmxch/article/details/129469303
今日推荐