1、修改ssh預設連接配接22端口 和 添加防火牆firewalld 通過端口
步驟:
1) 修改ssh的預設端口22:
vi /etc/ssh/sshd_config

2)讓防火牆通過這個端口
firewall-cmd --state【firewalld是否運作】
firewall-cmd --permanent --list-port【檢視端口清單】
firewall-cmd --permanent --zone=public --add-port=48489/tcp【添加端口】
firewall-cmd --permanent --remove-port=48489/tcp【删除端口】
12345
申請阿裡雲服務時,可以使用
2000元阿裡雲代金券 ,阿裡雲官網領取網址: https://dashi.aliyun.com/site/yun/youhui(長期有效)
3)重新開機SSH服務,并退出目前連接配接的SSH端口
service sshd restart1
4)然後通過putty ssh連接配接軟體連結一下,使用預設22号端口無法進入SSH,達到目的,就OK了~
阿裡雲伺服器1核2G低至89元/年 ,阿裡雲官活動網址: https://dashi.aliyun.com/site/yun/aliyun禁止root帳号直接登入
Linux的預設管理者名即是root,隻需要知道ROOT密碼即可直接登入SSH。禁止Root從SSH直接登入可以提高伺服器安全性。經過以下操作後即可實作。
1)建立帳戶和設定帳戶密碼
useradd ityangs
passwd ityangs
123
2)不允許root直接登陸
vi /etc/ssh/sshd_config1
查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改為“No”,并儲存檔案。
systemctl restart sshd.service【重新開機ssh,另一種方法重新開機】1
3)下次登陸
先使用建立賬号“ityangs”以普通使用者登陸。
若要獲得ROOT權限,在SSH中執行以下指令
su root1
執行以上指令并輸入root密碼後即可獲得root權限。
4)WinSCP下su切換到root的技巧(禁止root遠端ssh登入時)
限制了root使用者的遠端登入,但是重要的資料檔案都是700。更可悲的是,WinSCP完全失去了用武之地。因為root賬戶無法登陸,而像是FTP,SFTP,SCP這些協定都不支援在登入以後切換使用者。
SCP協定在登入的時候可以指定shell,一般預設的也就是推薦的是/bin/bash,但是我們可以修改它來玩花樣,比如改成sudo su -
但是新問題又來了,sudo需要輸入密碼,但是WinSCP在登入的時候并沒有互動過程。但是天無絕人隻要在root權限之路,隻要在root權限下visudo,添加如下一行即可取消sudu時的密碼:
yourusername ALL=NOPASSWD: ALL
為了可以在非putty的環境下sudo,我們還需要注釋掉下面一行:
Defaults requiretty
然後儲存,即可在登入到WinSCP的時候享受root的快感啦!
普通使用者ssh到伺服器,切換到root權限
visudo,然後添加 yourusername ALL=NOPASSWD: ALL 這一行,注釋掉Defaults requiretty
[root@iZ252wo3Z ~]# visudo
ityangs ALL=NOPASSWD: ALL
Defaults requiretty 【沒有可不用管】
修改WinSCP的檔案協定為SCP
登入WinSCP即可。
安裝DenyHosts【攔截擷取攻擊的IP,生成黑名單,防止再次攻擊】
DenyHosts(項目首頁:
http://denyhosts.sourceforge.net/ )是運作于Linux上的一款預防SSH暴力破解的軟體,可以從 http://sourceforge.net/projects/denyhosts/files/進行下載下傳,然後将下載下傳回來的DenyHosts-2.6.tar.gz源碼包上傳到Linux系統中。
下面是安裝過程
tar zxvf DenyHosts-2.6.tar.gz #解壓源碼包
cd DenyHosts-2.6 #進入安裝解壓目錄
python setup.py install #安裝DenyHosts
cd /usr/share/denyhosts/ #預設安裝路徑
cp denyhosts.cfg-dist denyhosts.cfg #denyhosts.cfg為配置檔案
cp daemon-control-dist daemon-control #daemon-control為啟動程式
chown root daemon-control #添加root權限
chmod 700 daemon-control #修改為可執行檔案
ln -s /usr/share/denyhosts/daemon-control /etc/init.d #對daemon-control進行軟連接配接,友善管理
安裝到這一步就完成了。
/etc/init.d/daemon-control start #啟動denyhosts
chkconfig daemon-control on #将denghosts設成開機啟動
vi /usr/share/denyhosts/denyhosts.cfg #編輯配置檔案,另外關于配置檔案一些參數,通過grep -v "^#" denyhosts.cfg檢視
SECURE_LOG = /var/log/secure #ssh 日志檔案,redhat系列根據/var/log/secure檔案來判斷;Mandrake、FreeBSD根據 /var/log/auth.log來判斷
#SUSE則是用/var/log/messages來判斷,這些在配置檔案裡面都有很詳細的解釋。
HOSTS_DENY = /etc/hosts.deny #控制使用者登陸的檔案
PURGE_DENY = 30m #過多久後清除已經禁止的,設定為30分鐘;
‘m’ = minutes
‘h’ = hours
‘d’ = days
‘w’ = weeks
‘y’ = years
BLOCK_SERVICE = sshd #禁止的服務名,當然DenyHost不僅僅用于SSH服務
DENY_THRESHOLD_INVALID = 1 #允許無效使用者失敗的次數
DENY_THRESHOLD_VALID = 3 #允許普通使用者登陸失敗的次數
DENY_THRESHOLD_ROOT = 3 #允許root登陸失敗的次數
DAEMON_LOG = /var/log/denyhosts #DenyHosts日志檔案存放的路徑,預設
更改DenyHosts的預設配置之後,重新開機DenyHosts服務即可生效:
/etc/init.d/daemon-control restart #重新開機denyhosts