phper-linux-gitbook/used-settings.md
2018-12-24 22:05:54 +08:00

102 lines
2.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### ssh 公私钥登录配置
第一步,在客户端生成公钥
```
ssh-keygen -t rsa #生成的公钥匙在 ~/.ssh/ 目录下
```
第二步,把公钥上传到服务器端,登录服务器追加公钥到 authorized_keys 文件
__简单版__
```
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
```
__复杂版__
```
scp id_rsa.pub root@ip地址:文件保存路径
ssh root@ip #登录服务器
cd id_rsa.pub 文件保存路径
cat id_rsa.pub >> /root/.ssh/authorized_keys 追加到文件中
```
> 如果 .shh 目录或 authorized_keys 文件不存在需要自己新建
第三步,修改服务器端 ssh 配置文件 /etc/ssh/sshd_config
```
RSAAuthentication yes #开启RSA验证
PubkeyAuthentication yes #是否使用公钥验证
PasswordAuthentication no #禁止使用密码验证登录
chmod 700 /root/.ssh/ #为了安全把文件修改权限,可选,部分系统新建即为 700
chmod 600 /root/.ssh/authorized_keys #为了安全把文件修改权限,可选,部分系统新建即为 600
```
第四步,服务器端重启 ssh 服务
```
service sshd restart #重启 sshd 服务
```
---
#### 禁止 ping 服务器配置
第一种方法:临时生效配置
```
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1 #临时生效禁止 ping 作用,重启服务器后恢复
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0 #解除禁止 ping 作用
```
第二种方法:永久生效配置
编辑 /etc/sysctl.conf 文件
```
sudo vim /etc/sysctl.conf
```
在配置文件中添加
```
net.ipv4.icmp_echo_ignore_all=1
```
如果已经有 `net.ipv4.icmp_echo_ignore_all` 这一行了,直接修改=号后面的值即可的。0表示允许1表示禁止
修改完成后执行 `sysctl -p` 使新配置生效
第三种方法:通过 iptables 配置
```
sudo iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP #往防火墙添加规则
删除已添加的iptables规则
sudoi ptables -L -n --line-numbers #将所有iptables以序号标记显示
sudo iptables -D INPUT 8 #删除INPUT里序号为8的规则
```
---
#### 自定义 ssh 登录
`.ssh` 目录下新建 `config` 文件,内容如下
```
Host test1 #自定义名称
HostName ip #服务器 ip 地址
User nick #用户名
Port 22 # ssh 端口号,默认 22 可以不设置
Host test2 #自定义名称
HostName ip #服务器 ip 地址
User nick #用户名
Port 22228 # ssh 端口,自定义端口,修改为指定端口号
```
连接方式
```
ssh test1 #如果配置了公私钥就直接登录,没有的话输入密码登录
```