linuxroot遠程登錄
❶ linux下限制Root遠程登陸
限制用戶 root 遠程登錄,對保證計算機系統的安全,具有實際意義。本文向大家介紹一些方法,能達到限制 root 遠程登錄的目的。
方法一:在/etc/default/login 文件,增加一行設置命令。
CONSOLE = /dev/tty01
設置後立即生效,無需重新引導。以後,用戶只能在控制台(/dev/tty01)root登錄,從而達到限制root遠程登錄,不過,同時也限制了區域網用戶root登錄,給管理員的日常維護工作帶來諸多不便。
方法二:1.為了達到限制root遠程登錄,首先要分清哪些用戶是遠程用戶(即是否通過另一台 Windows 系統或 UNIX 系統進行 telnet 登錄),哪些用戶是區域網用戶。通過以下shell程序能達到此目的。
TY=`tty | cut -b 9-12`
WH=`finger | cut -b 32-79 | grep "$TY " | cut -b 29-39`
KK=` tty | cut -b 6-9`
If [ "$KK" = "ttyp" ]
then
WH=$WH
else
WH="local"
fi
以上Shell命令程序中,WH為登錄用戶的主機IP地址,但如果在 /etc/hosts 文件中,定義了IP 地址和機器名之間的對應關系,則 WH 為用戶登錄的主機名。假設連接到區域網中的終端伺服器的IP 地址為:
99.57.32.18, 那麼應在 /etc/hosts 文件中加入一行:
99.57.32.18 terminal_server
所有通過99.57.32.18終端伺服器登錄到主機的終端中,WH 是同一個值,即為終端伺服器名terminal_server。
2.在root的.profile文件中,根據 WH 值進行不同的處理,從而實現限制root遠程登錄。
Trap 1 2 3 9 15If [ "$WH" = "local" -o "$WH" = "terminal_server" ]then echo "Welcome......"else exitfi方法三:有時為了工作的方便,允許區域網中部分電腦root登錄,例如,允許區域網中IP 地址為 99.57.32.58 的電腦root登錄,要實現這一點,需要在前述方法中,作兩點補充:
1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。
2.在上述 Shell 程序段中,將下述內容:
If [ "$WH" = "local" -o "$WH" = "terminal_server" ]
修改為:
If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]
方法四:經過以上處理後,仍存在普通用戶登錄後用su命令變成 root 用戶的可能,從而達到 root 遠程登錄的目的。為了防止用這種方法實現 root 遠程登錄,需要限制普通用戶不能執行 su 命令:
1.將su命令屬主改為 root;
2.將su命令的許可權改為 700
❷ linux下開啟SSH,並且允許root用戶遠程登錄,允許無密碼登錄
參考:http://blog.csdn.net/jia0511/article/details/8237698
1. 允許root用戶遠程登錄
修改ssh服務配置文件
sudovi/etc/ssh/sshd_config
調整PermitRootLogin參數值為yes,如下圖:
2. 允許無密碼登錄
同上,修改ssh服務配置文件,兩種情況:
1) 將PermitEmptyPasswords yes前面的#號去掉
2) 將PermitEmptyPasswords 參數值修改為yes,如下圖:
無論哪種,最後PermitEmptyPasswords參數值為yes
以上兩種配置,均需要重啟ssh服務
service sshd restart # 或者/etc/initd.d/sshd restart
擴展:
為了安全起見,FreeBSD默認情況下是不允許root用戶進行SSH遠程登錄的,需要進行以下操作才可以進行Root用戶的ssh遠程登錄。
首先vi編輯/etc/inetd.conf,去掉ssh前的#注釋,保存後:wq退出 (開啟監聽ssh服務)
編輯/etc/rc.conf, 最後加入:sshd_enable=」yes」即可
激活sshd服務:
#/etc/rc.d/sshd start
檢查服務是否啟動,在22埠應該有監聽。
# check port number22
#netstat -an #或
#netstat -tnlp
最後,編輯ssh配置文件
#vi/etc/ssh/sshd_config
在/etc/ssh/sshd_config最後中加入
PermitRootLogin yes #允許root登錄
PermitEmptyPasswords no #不允許空密碼登錄
PasswordAuthentication yes # 設置是否使用口令驗證。
修改完配置文件後,重新啟動sshd伺服器(/etc/rc.d/sshd restart)即可。
補充:
1. 如果重啟後還是不行, 請重新載入sshd_config 文件
/etc/rc.d/sshd reload
2. 如果出現using keyboard-interactive authentication
password:
請確認配置文件中,PasswordAuthentication參數值是否已經改成yes
另外如果客戶端是putty, 那麼請確認」嘗試』智能鍵盤』認證(SSH-2)」的勾是否有去掉!!!!
3. 如果是使用root帳號登陸
請確認密碼是否為空
空密碼無法登陸
4. 請確認是否有安裝SSH
確認sysinstall>>>configure>>>networking>>>sshd是否的勾是否有打上.
❸ 怎麼設置root用戶使用telnet遠程登錄linux
通過配置文件設置是否允許使用root帳戶通過telnet遠程登錄
工具:telnet客戶端:WINDOWS自帶的或是使用如putty等其他工具派擾
方法:
1、現象:無法使用root用戶通過telnet遠程登錄linux伺服器,如圖所示:
注意事項:為了安全,此功能慎用,獲取root功能的方法有:
1、su root,切換到root用戶,如果知道密碼;
2、sudo 加命令,如 sudo vi /etc/securetty
3、sudo su root,暫時獲得root許可權
❹ 如何解決Linux下通過root無法遠程登錄
發現問題
通過xshell連接ubuntu,輸入,連接名稱,ip,埠,已經用戶名密碼,輸入完成後點擊連接,開始進行遠程連接,發現一直提示連接不了;提示"ssh伺服器拒絕了密碼,請再試一次。"其實試了多少次都沒用;
解決問題
1、確認ssh服務已安裝,通過普通用戶連接成功;
2、確認ssh配置是否對root進行特殊設置,修改/etc/ssh/sshd_config文件中
PermitRootLogin without-password將 without-password改為yes;
3、重啟ssh服務/etc/init.d/ssh restart;
如何解決Linux下通過root無法遠程登錄
如何解決Linux下通過root無法遠程登錄
如何解決Linux下通過root無法遠程登錄
驗證結果
再次使用ssh連接,這次沒有任何提示,連接成功了;
如何解決Linux下通過root無法遠程登錄
END
注意事項
問題本身不難,重點是要細心。經常遇到問題會很影響效率,這里特意記錄下來,希望幫助到別人;