常見需求:
1.禁止root賬戶遠程登錄;
2.修改ssh默認端口22爲2222,以提高安全性;
3.授權某個普通用戶可以使用sudo su切換至root賬戶,且不需要輸入密碼;
4.僅允許IP爲192.168.16.16的主機通過ssh登錄;
5.登錄時使用密鑰認證機制遠程登錄Linux。
實現方法:
1.禁止root賬戶遠程登錄
[root@localhost ~]# vim /etc/ssh/sshd_config PermitRootLogin no #加入一行保存 [root@localhost ~]# service sshd restart
2.修改ssh默認端口22爲2222,以提高安全性
[root@localhost ~]# vim /etc/ssh/sshd_config port 2222 #修改端口 [root@localhost ~]# service sshd restart
3.授權某個普通用戶可以使用sudo su切換至root賬戶,且不需要輸入密碼
[root@localhost ~]# visudo #visudo中加入下面的語句 User_Alias UUU = wangchengjun,%wangchengjun Cmnd_Alias CCC = /bin/su UUU ALL=(root) NOPASSWD:CCC [wangchengjun@localhost ~]$ sudo su - #普通用戶 [root@localhost ~]# #成功切換至root用戶
4.僅允許IP爲192.168.16.16的主機通過ssh登錄
方法一:通過hosts.deny和hosts.allow設定,僅允許192.168.16.16主機通過
[root@wangchengjun ~]# vim /etc/hosts.deny sshd:all:deny [root@wangchengjun ~]# vim /etc/hosts.allow sshd:192.168.16.16:allow [root@wangchengjun ~]# service sshd restart
方法二:通過iptables設定,先關閉所有端口,僅允許192.168.16.16主機通過2222端口遠程登錄ssh。對所有主機開放其他必要的端口。可以通過腳本一步實現。
#!/bin/bash iptables -F iptables -P INPUT DROP iptables -A INPUT -s 192.168.16.16 -p tcp --dport 2222 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT
5.登錄時使用密鑰認證機制遠程登錄Linux
以Xshell爲例:
1.菜單命令:工具—>新建用戶密鑰生成嚮導
2.密鑰類型:RSA
3.設置密鑰名稱、密碼之類的信息
4.複製公鑰,保存私鑰
5.在用戶的家目錄下面創建目錄:~/.ssh
更改權限:chmod 700 ~/.ssh
6.vim ~/.ssh/authorized_keys 將公鑰粘貼到裏面然後保存
7.使用密鑰登錄