修改ssh遠程登錄埠
1.修改ssh服務的組態檔:/etc/ssh/sshd_config ,將 Port 22 改為 Port 3120 保存退出,
[root@localhost ~]# vi /etc/ssh/sshd_config
2.修改防火墻規則
# 打開防火墻組態檔 [root@localhost ~]# vi /etc/sysconfig/iptables # 同意3120埠,在檔案里面添加下面一行,保存退出 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3120 -j ACCEPT
3.重啟防火墻與ssh服務
# 重啟防火墻 [root@localhost ~]# service iptables restart # 重啟ssh服務 [root@localhost ~]# service sshd restart [root@localhost ~]# /etc/init.d/ssh restart
現在可以使用 3120 埠遠程登錄了,建議在修改程序中在本地 tcping -t ip 埠,實時檢測下修改的遠程埠通沒通,
禁止root遠程登錄
1.修改ssh服務的組態檔:/etc/ssh/sshd_config ,找到PermitRootLogin,將后面的yes改為no,這樣root就不能遠程登錄了,保存退出,
[root@localhost ~]# vi /etc/ssh/sshd_config
2.重啟ssh服務
[root@localhost ~]# service sshd restart
值得一提的是,如果你的Linux中只有root用戶,在關閉root遠程登錄之前,請一定要建立一個新用戶,否則會導致無法使用ssh遠程登錄服務器!
允許或禁止指定用戶或IP進行SSH登錄
限制用戶 SSH 登錄
1.只允許指定用戶進行登錄(白名單):
在 /etc/ssh/sshd_config 組態檔中設定 AllowUsers 選項,(配置完成需要重啟 SSHD 服務)格式如下:
AllowUsers aliyun [email protected] # 允許 aliyun 和從 192.168.1.1 登錄的 test 帳戶通過 SSH 登錄系統,
2.只拒絕指定用戶進行登錄(黑名單):
在 /etc/ssh/sshd_config 組態檔中設定 DenyUsers 選項,(配置完成需要重啟 SSHD 服務)格式如下:
DenyUsers zhangsan aliyun # 拒絕 zhangsan、aliyun 帳戶通過 SSH 登錄系統 DenyUsers [email protected] # 拒絕 mayun 帳戶且IP為25.12.15.2 通過 SSH 登錄系統
限制IP SSH 登錄
除了可以禁止某個用戶登錄,我們還可以針對固定的IP進行禁止登錄,linux 服務器通過設定 /etc/hosts.allow 和 /etc/hosts.deny 這兩個檔案,可以實作限制或者允許某個或者某段IP地址遠程 SSH 登錄服務器,
hosts.allow 和hosts.deny 兩個檔案同時設定規則的時候,hosts.allow 檔案中的規則優先級高,按照此方法設定后服務器只允許 192.168.0.1 這個 IP 地址的 ssh 登錄,其它的 IP 都會拒絕,
1.vim /etc/hosts.allow, 添加
sshd:ALL # 允許全部的 ssh 登錄 sshd:192.168.0.1:allow # 允許 192.168.0.1 這個 IP 地址 ssh 登錄 sshd:192.168.0.1/24:allow # 允許 192.168.0.1/24 這段 IP 地址的用戶登錄
2.vim /etc/hosts.deny,添加
sshd:ALL # 拒絕全部的 ssh 登錄
ssh密鑰登錄Linux
一、生成ssh秘鑰對
[root@localhost ~]# ssh-keygen -t rsa [root@localhost ~]# ssh-keygen -t rsa -C "公鑰內容注釋" -f "生成的檔案名"
說明:命令執行后會有提示,輸入三次回車即可,執行完成后會在當前用戶的.ssh目錄下生成兩個檔案:id_rsa、id_rsa.pub檔案,前者是私鑰檔案,后者是公鑰檔案(拷貝到其他主機只需要拷貝公鑰檔案的內容即可)
二、配置公鑰
[root@localhost ~]# echo -e '#this is keys_root' >> ~/.ssh/authorized_keys ; # 這一步可以忽略 [root@localhost ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 將生成的公鑰寫入到用戶的authorized_keys檔案中, [root@localhost ~]# cat ~/.ssh/authorized_keys # 這里放在了/root/.ssh下面,就是root用戶登陸,想用什么用戶登陸,就放在該用戶家目錄下的 .ssh 目錄下的authorized_keys檔案中,
注:每個用戶都擁有自己的 authorized_keys檔案,建議該檔案權限對擁有者為讀寫權限,其他用戶無權限,即600權限,
三、配置私鑰(xshell使用私鑰登錄)
[root@localhost ~]# sz id_rsa # 下載私鑰到本地機器
ssh免密登錄Linux
ssh使用私鑰登錄大致步驟就是:主機A(客戶端)創建公鑰私鑰,并將公鑰復制到主機B(被登陸機)的指定用戶下,然后主機A使用保存私鑰的用戶登錄到主機B對應保存公鑰的用戶,這里介紹主機A免密登錄主機B,
一、在需要免密登陸的主機(主機A)下生成公鑰和私鑰,
[root@localhost ~]# ssh-keygen -t rsa # -t rsa可以省略,默認就是生成rsa型別的密鑰
二、將客戶機的公鑰復制到被登陸的主機(主機B)上的 ~/.ssh/authorized_keys 檔案中,在主機A上面執行,
[root@localhost ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
使用 ssh-copy-id 進行拷貝公鑰非常方便,只需要指定目標主機和目標主機的用戶即可,
執行上面這條命令后會自動將登錄主機(A)的公鑰檔案內容追加至目標主機(B)中指定用戶(root或ubuntu或其他用戶)的.ssh目錄下的authorized_keys檔案中,這個程序是全自動的,非常方便,當然也可以手動復制到目標主機上,
三、免密登錄
[root@localhost ~]# ssh [email protected]
上例只能實作主機A免密登陸到主機B的ubuntu用戶,如果想讓主機B也免密登錄到主機A,創建密鑰和拷貝步驟相同,
密鑰登陸的方式只能登錄被登錄機中 .ssh 目錄下有對應公鑰的用戶,如果想讓所有用戶都可以被登錄則需要將authorized_keys檔案的內容追加到其他用戶的 ~/.ssh/authorized_keys 檔案中,
如果使用自己復制的方法,一定要注意.ssh目錄和authorized_keys檔案的權限,前者是700,后者是600,
https://www.cnblogs.com/henkeyi/p/10487553.html
https://www.onqc.com/25.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/156133.html
標籤:Linux
上一篇:Linux:查看檔案內容
下一篇:1. Linux基本命令
