您好,登錄后才能下訂單哦!
本篇內容介紹了“如何實現用SSH遠程登錄Linux服務器的用戶的權限”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
為了滿足“break qiang”的需要,在國外的Linux主機上(比如 DreamHost )上建個可 ssh登錄的用戶,使用 ssh 的 Tunnel 來作代理是十分常見的方法。
但是主人往往又想最小化用戶權限,以避免對系統造成影響。最簡單的辦法就是,禁止用戶登錄。
其實 ssh 可以連接到 sshd 但是不執行遠程命令(默認是啟動用戶設定的 shell ),使用 -N 參數即可。
在服務器上建一個 username :
添加用戶:useradd -s /bin/false username,將用戶的shell設置成/bin/false。這樣用戶就無法與系統進行交互。
設置密碼:passwd username
當然對已有的用戶也可以更改用戶權限為只能tcp轉發:
代碼如下:
usermod -s /bin/false USERNAME
也可以使用 /usr/bin/passwd 作為用戶的 shell ,這樣用戶就可以通過登錄而來自主修改密碼。需要注意的是,需要將 /usr/bin/passwd 這一行寫進 /etc/shells文件。
sshd 認證通后之后,會檢查設定的 shell 是否登記在 /etc/shells 文件中,若已經登記,則fork自己,然后fork出來的子進程再exec 設定的 shell 。而 ssh 的 -N 參數,則是告訴 sshd 不需要執行 shell。
建立Tunnel:
代碼如下:
ssh -D 1080 -qfnN username@hostname
輸入密碼即可使用(也可以用key認證)。
Windows的話,可以使用plink.exe或者MyEnTunnel(MyEnTunnel 本質上也是使用plink.exe來建立Tunnel)。
此時賬號username 可以通過sshd的認證使用 TcpForwarding ,但是不能運行 shell,不能與系統交互。剛好可以用來為朋友提供國外的代理break qiang。
參數詳解:
-D 1080 建立動態Tunnel,監聽在本地1080端口。
-q 安靜模式。
-f ssh在后臺運行,即認證之后,ssh退居后臺。
-n 將 stdio 重定向到 /dev/null,與-f配合使用。
-N 不運行遠程程序。即通知 sshd 不運行設定的 shell。
“如何實現用SSH遠程登錄Linux服務器的用戶的權限”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。