1. 程式人生 > >菜鳥學Linux命令:ssh命令 遠端登入

菜鳥學Linux命令:ssh命令 遠端登入

1、檢視SSH客戶端版本

有的時候需要確認一下SSH客戶端及其相應的版本號。使用ssh -V命令可以得到版本號。需要注意的是,Linux一般自帶的是OpenSSH: 下面的例子即表明該系統正在使用OpenSSH:

$ ssh -V
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

下面的例子表明該系統正在使用SSH2:

$ ssh -V
ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu

2、連線到遠端主機:

命令格式 :
ssh [email protected]

或者
ssh remoteserver -l name
說明:以上兩種方式都可以遠端登入到遠端主機,server代表遠端主機,name為登入遠端主機的使用者名稱。

3、連線到遠端主機指定的埠:

命令格式:
ssh [email protected] -p 2222 或者
ssh remoteserver -l name -p 2222
說明:p 引數指定埠號,通常在路由裡做埠對映時,我們不會把22埠直接映射出去,而是轉換成其他埠號,這時就需要使用-p埠號命令格式。

4、通過遠端主機1跳到遠端主機2:

命令格式:
ssh -t remoteserver1 ssh remoteserver2
說明:當遠端主機remoteserver2無法直接到達時,可以使用-t引數,然後由remoteserver1跳轉到remoteserver2。在此過程中要先輸入remoteserver1的密碼,然後再輸入remoteserver2的密碼,然後就可以操作remoteserver2了。

5、通過SSH執行遠端shell命令:

命令格式:
ssh -l name remoteserver ‘command’
說明:連線到遠端主機,並執行遠端主機的command命令。例如:檢視遠端主機的記憶體使用情況。
$ ssh -l root 192.168.1.100 svmon -G

6、修改SSH監聽埠:

預設情況下,SSH監聽連線埠22,攻擊者使用埠掃描軟體就可以看到主機是否執行有SSH服務,將SSH埠修改為大於1024的埠是一個明智的選擇,因為大多數埠掃描軟體(包括nmap)預設情況都不掃描高位埠。開啟/etc/ssh/sshd_config檔案並查詢下面這樣的行:
Port 22
去掉該行前面的# 號,然後修改埠號並重新啟動SSH服務:
$ /etc/init.d/ssh restart

7、僅允許SSH協議版本2:

有兩個SSH協議版本,僅使用SSH協議版本2會更安全,SSH協議版本1有安全問題,包括中間人攻擊(man-in-the-middle)和注入(insertion)攻擊。編輯/etc/ssh/sshd_config檔案並查詢下面這樣的行:
# Protocol 2,1
修改為
Protocol 2

8、禁止root使用者登入:

通常情況下,不採用直接用root使用者登入到遠端主機,由於root使用者擁有超級許可權,這樣會帶來安全隱患,所以,一般我們用普通使用者登入,當需要管理遠端主機時,再切換到root使用者下。開啟/etc/ssh/sshd_config檔案並查詢下面這樣的行:
#PermitRootLogin yes
將#號去掉,然後將yes修改成no,重啟ssh服務,這樣就可以禁止root使用者登入。

將#號去掉,然後將bannertest.txt檔案的全路徑替換/some/path,然後儲存,重啟ssh服務。當客戶端登入時,就會看到bannertest.txt檔案中的提示資訊。

9、進行埠對映:

假如公司內網有臺web伺服器,但是隻對內不對外,這樣,外網就無法訪問,可以用ssh進行埠對映來實現外網訪問內網的web伺服器。假如web伺服器名為webserver,webserver可以用ssh訪問到遠端主機remoteserver,登入到webserver,然後用下面命令進行對映
命令格式:
ssh -R 3000:localhost:80 remoteserver
執行完成後,在remoteserver機器上,執行netstat -an | grep 3000,檢視有沒有開通3000埠。並執行以下命令觀察是否可以開啟webserver上的網頁
$ w3m http://127.0.0.1:3000
如果能開啟介面,說明對映成功.但是,這隻限於本機訪問web伺服器,即只能remoteserver機器訪問webserver。因為3000埠繫結的是remoteserver機器的127.0.0.1埠。可以編輯remoteserver機器上的/etc/ssh/sshd_config檔案並新增如下內容:
新增 GatewayPorts yes 內容,把監聽埠3000繫結到 0.0.0.0 地址上,這樣外部的所有機器都能訪問到這個監聽埠,然後儲存退出。並重啟ssh服務。完成後其它機器就可以在瀏覽器中輸入 http://remoteserver:3000來訪問webserver了。

10、設定登入時提示資訊

首先編輯一個檔案,如bannertest.txt,檔案內容自行定義。然後開啟/etc/ssh/sshd_config檔案並查詢下面這樣的行:
#Banner /some/path