下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。
1. 制作密钥对
首先在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:
1 2 3 4 5 6 7 8 9 10
[root@host ~]$ ssh-keygen <== 建立密钥对 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空 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. <== 公钥 The key fingerprint is: 0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
选项与参数: -m :一些 iptables 的外挂模块,主要常见的有: state :状态模块 mac :网络卡硬件地址 (hardware address) --state :一些封包的状态,主要有: INVALID :无效的封包,例如数据破损的封包状态 ESTABLISHED:已经联机成功的联机状态; NEW :想要新建立联机的封包状态; RELATED :这个最常用!表示这个封包是与我们主机发送出去的封包有关
#ICMP 封包规则的比对:针对是否响应 ping 来设计
iptables -A INPUT [-p icmp] [--icmp-type 类型] -j ACCEPT
/sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD DROP
#/sbin/iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP /sbin/iptables -I INPUT -p icmp --icmp-type echo-request -m limit --limit 6/min --limit-burst 4 -j ACCEPT /sbin/iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP /sbin/iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP /sbin/iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP /sbin/iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP /sbin/iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP /sbin/iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 3333 -j ACCEPT #/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT #/sbin/iptables -A INPUT -p tcp --dport 4000 -j ACCEPT #/sbin/iptables -A INPUT -p tcp --dport 8080 -j ACCEPT #/sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT #/sbin/iptables -A INPUT -p icmp -j ACCEPT /sbin/iptables -A INPUT -d 127.0.0.1 -j ACCEPT /sbin/iptables -A INPUT -i lo -p all -j ACCEPT /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#/sbin/iptables -A INPUT -p udp --sport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 31337 -j DROP /sbin/iptables -A OUTPUT -p tcp --dport 31337 -j DROP
/sbin/iptables -A INPUT -m state --state INVALID -j DROP /sbin/iptables -A OUTPUT -m state --state INVALID -j DROP /sbin/iptables -A FORWARD -m state --state INVALID -j DROP