管理用SSH遠(yuǎn)程登錄Linux服務(wù)器的用戶的權(quán)限
為了滿足“break qiang”的需要,在國外的Linux主機(jī)上(比如 DreamHost )上建個(gè)可 ssh登錄的用戶,使用 ssh 的 Tunnel 來作代理是十分常見的方法。
但是主人往往又想最小化用戶權(quán)限,以避免對系統(tǒng)造成影響。最簡單的辦法就是,禁止用戶登錄。
其實(shí) ssh 可以連接到 sshd 但是不執(zhí)行遠(yuǎn)程命令(默認(rèn)是啟動(dòng)用戶設(shè)定的 shell ),使用 -N 參數(shù)即可。
在服務(wù)器上建一個(gè) username :
添加用戶:useradd -s /bin/false username,將用戶的shell設(shè)置成/bin/false。這樣用戶就無法與系統(tǒng)進(jìn)行交互。
設(shè)置密碼:passwd username
當(dāng)然對已有的用戶也可以更改用戶權(quán)限為只能tcp轉(zhuǎn)發(fā):
也可以使用 /usr/bin/passwd 作為用戶的 shell ,這樣用戶就可以通過登錄而來自主修改密碼。需要注意的是,需要將 /usr/bin/passwd 這一行寫進(jìn) /etc/shells文件。
sshd 認(rèn)證通后之后,會(huì)檢查設(shè)定的 shell 是否登記在 /etc/shells 文件中,若已經(jīng)登記,則fork自己,然后fork出來的子進(jìn)程再exec 設(shè)定的 shell 。而 ssh 的 -N 參數(shù),則是告訴 sshd 不需要執(zhí)行 shell。
建立Tunnel:
輸入密碼即可使用(也可以用key認(rèn)證)。
Windows的話,可以使用plink.exe或者M(jìn)yEnTunnel(MyEnTunnel 本質(zhì)上也是使用plink.exe來建立Tunnel)。
此時(shí)賬號(hào)username 可以通過sshd的認(rèn)證使用 TcpForwarding ,但是不能運(yùn)行 shell,不能與系統(tǒng)交互。剛好可以用來為朋友提供國外的代理break qiang。
參數(shù)詳解:
-D 1080 建立動(dòng)態(tài)Tunnel,監(jiān)聽在本地1080端口。
-q 安靜模式。
-f ssh在后臺(tái)運(yùn)行,即認(rèn)證之后,ssh退居后臺(tái)。
-n 將 stdio 重定向到 /dev/null,與-f配合使用。
-N 不運(yùn)行遠(yuǎn)程程序。即通知 sshd 不運(yùn)行設(shè)定的 shell。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。