|
12 | 12 | - CentOS 6:`sudo yum install -y openssh-server openssh-clients` |
13 | 13 | - Ubuntu:`sudo apt-get install -y openssh-server openssh-client` |
14 | 14 |
|
15 | | -## SSH 配置文件常用参数 |
| 15 | + |
| 16 | +## SSH 修改连接端口 |
16 | 17 |
|
17 | 18 | - 配置文件介绍(记得先备份):`sudo vim /etc/ssh/sshd_config` |
18 | | - - Port 22 #默认指定 22 端口,可以自己修改 |
19 | | - - Protocol 2,1 #指定了 SSH 协议版本,目前 SSH 只有两个版本 2 和 1 |
20 | | - - PasswordAuthentication yes #是否开启密码验证,因为 SSH 也可以设置秘钥类授权登录的方式,如果用这种方式我们可以考虑关掉密码登录的方式。 |
21 | | - - PermitEmptyPasswords no #是否允许密码为空,与上面参数配合用。 |
22 | | - |
| 19 | +- 打开这一行注释:Port 22 |
| 20 | + - 自定义端口选择建议在万位的端口,如:10000-65535之间,假设这里我改为 60001 |
| 21 | +- 给新端口加到防火墙中: |
| 22 | + - 添加规则:`iptables -I INPUT -p tcp -m tcp --dport 60001 -j ACCEPT` |
| 23 | + - 保存规则:`service iptables save` |
| 24 | + - 重启 iptables:`service iptables restart` |
| 25 | + |
| 26 | +## 设置超时 |
| 27 | + |
| 28 | +- ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送。而ClientAliveInterval 300表示5分钟发送一次,然后客户端响应,这样就保持长连接了。 |
| 29 | +- ClientAliveCountMax,默认值3。ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。 |
| 30 | +- 正常我们可以设置为: |
| 31 | + - ClientAliveInterval 300 |
| 32 | + - ClientAliveCountMax 3 |
| 33 | + - 按上面的配置的话,300*3=900秒=15分钟,即15分钟客户端不响应时,ssh连接会自动退出。 |
| 34 | + |
23 | 35 | ## SSH 允许 root 账户登录 |
24 | 36 |
|
25 | 37 | - 编辑配置文件(记得先备份):`sudo vim /etc/ssh/sshd_config` |
26 | 38 | - 允许 root 账号登录 |
27 | 39 | - 注释掉:`PermitRootLogin without-password` |
28 | 40 | - 新增一行:`PermitRootLogin yes` |
29 | | - |
| 41 | + |
| 42 | +## SSH 不允许 root 账户登录 |
| 43 | + |
| 44 | +- 新增用户和把新增的用户改为跟 root 同等权限方法:[Bash.md] |
| 45 | +- 编辑配置文件(记得先备份):`sudo vim /etc/ssh/sshd_config` |
| 46 | + - 注释掉这一句(如果没有这一句则不管它):`PermitRootLogin yes` |
| 47 | + |
30 | 48 | ## SSH 密钥登录 |
31 | 49 |
|
32 | 50 | - 生成秘钥和公钥文件,命令:`sudo ssh-keygen`,在交互提示中连续按三次回车,如果看得懂交互的表达,那就根据你自己需求来。默认生成密钥和公钥文件是在:/root/.ssh。 |
|
36 | 54 | - 修改SSH认证文件权限,命令: |
37 | 55 | - `sudo chmod 700 /root/.ssh` |
38 | 56 | - `sudo chmod 600 /root/.ssh/authorized_keys` |
39 | | -- 重启服务:`sudo service ssh restart` |
| 57 | +- 重启服务:`sudo service sshd restart` |
40 | 58 | - 设置 SSH 服务默认启动:`sudo sysv-rc-conf ssh on` |
| 59 | +- 现在 SSH 客户端可以去拿着 SSH 服务器端上的 id_rsa,在客户端指定秘钥文件地址即可,这个一般由于你使用的客户端决定的,我这里推荐的是 Xshell 软件。 |
| 60 | + |
| 61 | +## 限制只有某一个IP才能远程登录服务器 |
| 62 | + |
| 63 | +- 在该配置文件:`vim /etc/hosts.deny` |
| 64 | + - 添加该内容:`sshd:ALL` |
| 65 | +- 在该配置文件:`vim /etc/hosts.allow` |
| 66 | + - 添加该内容:`sshd:123.23.1.23` |
| 67 | + |
| 68 | +## 限制某些用户可以 SSH 访问 |
| 69 | + |
| 70 | +- 在该配置文件:`vim /etc/ssh/sshd_config` |
| 71 | + - 添加该内容:`AllowUsers root userName1 userName2` |
| 72 | + |
| 73 | +## 修改完配置都要记得重启服务 |
41 | 74 |
|
42 | | -现在 SSH 客户端可以去拿着 SSH 服务器端上的 id_rsa,在客户端指定秘钥文件地址即可,这个一般由于你使用的客户端决定的,我这里推荐的是 Xshell 软件。 |
| 75 | +- 命令:`service sshd restart` |
43 | 76 |
|
44 | 77 | ## SSH 资料 |
45 | 78 |
|
46 | 79 | - <http://www.jikexueyuan.com/course/861_1.html?ss=1> |
| 80 | +- <http://www.361way.com/ssh-autologout/4679.html> |
| 81 | +- <http://www.osyunwei.com/archives/672.html> |
0 commit comments