遠程登入+外網登入(ADSL+路由器)(VNC && Telnet && SSH)(綜合整理)

來源:互聯網
上載者:User
   今天想遠程登入自己的linux。這樣上機房課的時候就可以登入自己的linux。呵呵。用的是VNC來實現的。先是實現了區域網路裡的成功登入。但是要外網登入才有意義。然後因為宿舍裡是用ADSL+路由器的上網方式。那麼通過靜態ip+連接埠映射即可實現外網登入。好。那麼下來綜合整理資料如下。(2012.05.28)。
   現在把這篇部落格加入了telnet和ssh遠程登入的內容。這篇總共介紹vnc telnet ssh這三種遠程登入方式。關於外網登入的內容保留在VNC第9條中。(2012.05.31)。

一:VNC遠程登入配置學習
   VNC (Virtual Network Computing)是虛擬網路電腦的縮寫。VNC是一款優秀的遠端控制工具軟體,由著名的AT&T的歐洲研究實驗室開發的。VNC是在基於UNIX和Linux作業系統的免費的開放源碼軟體,遠端控制能力強大,高效實用,其效能可以和Windows和MAC中的任何遠端控制軟體媲美。
   VNC基本上是由兩部分組成:一部分是用戶端的應用程式(vncviewer);另外一部分是伺服器端的應用程式(vncserver)。VNC的基本運行原理和一些Windows下的遠端控制軟體很相象。VNC的伺服器端應用程式在UNIX和Linux作業系統中適應性很強,圖形化使用者介面十分友好,看上去和Windows下的軟體介面也很類似。在任何安裝了用戶端的應用程式(vncviewer)的Linux平 台的電腦都能十分方便的和安裝了伺服器端的應用程式(vncserver)的電腦相互串連。另外,伺服器端 (vncserver)還內建了Java Web介面,這樣使用者通過伺服器端對其他電腦的操作就能通過Netscape顯示出來了,這樣的操作過程和顯示方式比較直觀方便。

1.確認VNC是否安裝 
預設情況下,Red Hat Enterprise Linux安裝程式會將VNC服務安裝在系統上。 
確認是否已經安裝VNC服務及查看安裝的VNC版本 
[root@localhost ~]# rpm -qa | grep vnc
tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686
libvncserver-0.9.7-4.el6.i686   ###這裡為我自己的情況。這個無所謂。只要確定你的vnc安裝即可。

2.啟動VNC服務 
使用vncserver命令啟動VNC服務,命令格式為“vncserver :案頭號”,其中“案頭號”用“數字”的方式表示,每個使用者連個需要佔用1個案頭 
啟動編號為1的案頭樣本如下 
[root@localhost ~]# vncserver :1 
You will require a password to access your desktops. 
Password: 
Verify: 
以上命令執行的過程中,因為是第一次執行,需要輸入密碼,這個密碼被加密儲存在使用者主目錄下的.vnc子目錄(/root/.vnc/passwd)中;同時在使用者主目錄下的.vnc子目錄中為使用者自動建立xstartup設定檔(/root/.vnc/xstartup),在每次啟動VND服務時,都會讀取該檔案中的配置資訊。 
BTW:/root/.vnc/目錄下還有一個“testdb:1.pid”檔案,這個檔案記錄著啟動VNC後對應後天作業系統的進程號,用於停止VNC服務時準確定位進程號。

3.VNC服務使用的連接埠號碼與案頭號的關係 
VNC服務使用的連接埠號碼與案頭號相關,VNC使用TCP連接埠從5900開始,對應關係如下 
案頭號為“1”  ---- 連接埠號碼為5901 
案頭號為“2”  ---- 連接埠號碼為5902 
案頭號為“3”  ---- 連接埠號碼為5903 
…… 
基於Java的VNC客戶程式Web服務TCP連接埠從5800開始,也是與案頭號相關,對應關係如下 
案頭號為“1”  ---- 連接埠號碼為5801 
案頭號為“2”  ---- 連接埠號碼為5802 
案頭號為“3”  ---- 連接埠號碼為5803 
…… 
基於上面的介紹,如果Linux開啟了防火牆功能,就需要手工開啟相應的連接埠,以開啟案頭號為“1”相應的連接埠為例,命令如下 
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT 
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT 
這裡只是暫時開啟連接埠。重啟就不會開啟了。如何要讓防火牆開啟這個連接埠。執行完之後。執行:
[root@localhost ~]# service iptables save
這樣ip過濾規則就可以儲存在/etc/sysconfig/iptables中了。

4.測試VNC服務 
第一種方法是使用VNC Viewer軟體登陸測試,操作流程如下    ###這裡是我自己的內網ip。
啟動VNC Viewer軟體 --> Server輸入“92.168.1.3:5901” --> 點擊“OK” --> Password輸入登陸密碼 --> 點擊“OK”登陸到X-Window圖形案頭環境 --> 測試成功 
第二種方法是使用Web瀏覽器(如Firefox,IE,Safari)登陸測試,操作流程如下 
地址欄輸入http://192.168.1.3:5801/ --> 出現VNC viewer for Java(此工具是使用Java編寫的VNC用戶端程式)介面,同時跳出VNC viewer對話方塊,在Server處輸入“192.168.1.3:5901”點擊“OK” --> Password輸入登陸密碼 --> 點擊“OK”登陸到X-Window圖形案頭環境 --> 測試成功 
(註:VNC viewer for Java需要JRE支援,如果頁面無法顯示,表示沒有安裝JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp這裡下載最新的JRE進行安裝) 

5.配置VNC圖形案頭環境為KDE或GNOME案頭環境 
如果您是按照我的上面方法進行的配置的,登陸到案頭後效果是非常簡單的,只有一個Shell可供使用,這是為什麼呢。怎麼才能看到可愛並且美麗的KDE或GNOME案頭環境呢。回答如下 
之所以那麼的難看,是因為VNC服務預設使用的是twm圖形案頭環境的,可以在VNC的設定檔xstartup中對其進行修改,先看一下這個設定檔 
[root@localhost ~]# vim /root/.vnc/xstartup 
將這個xstartup檔案的最後一行修改為“startkde &”,再重新啟動vncserver服務後就可以登陸到KDE案頭環境 
將這個xstartup檔案的最後一行修改為“gnome-session &”,再重新啟動vncserver服務後就可以登陸到GNOME案頭環境 
重新啟動vncserver服務的方法: 
[root@localhost ~]# vncserver -kill :1 
[root@localhost ~]# vncserver :1 

6.配置多個案頭 
可以使用如下的方法啟動多個案頭的VNC 
vncserver :1 
vncserver :2 
vncserver :3 
…… 
但是這種手工啟動的方法在伺服器重新啟動之後將失效,因此,下面介紹如何讓系統自動管理多個案頭的VNC,方法是將需要自動管理的資訊添加到/etc/sysconfig/vncservers設定檔中,先以案頭1為root使用者案頭2為oracle使用者為例進行配置如下: 
格式為:VNCSERVERS="案頭號:使用的使用者名稱案頭號:使用的使用者名稱" 
[root@localhost ~]# vi /etc/sysconfig/vncservers 
VNCSERVERS="1:root 2:zz" 
VNCSERVERARGS[1]="-geometry 1024x768" 
VNCSERVERARGS[2]="-geometry 1024x768" 

7.修改VNC訪問的密碼 
使用命令vncpasswd對不同使用者的VNC的密碼進行修改,一定要注意,如果配置了不同使用者的VNC需要分別到各自使用者中進行修改,例如在我的這個實驗中,root使用者和oracle使用者需要分別修改,修改過程如下: 
[root@localhost ~]# vncpasswd 
Password: 
Verify: 

8.啟動和停止VNC服務 
1)啟動VNC服務命令 
[root@localhost ~]# /etc/init.d/vncserver start 
2)停止VNC服務命令 
[root@localhost ~]# /etc/init.d/vncserver stop 
3)重新啟動VNC服務命令 
[root@localhost ~]# /etc/init.d/vncserver restart 
4)設定VNC服務隨系統啟動自動載入 
第一種方法:使用“ntsysv”命令啟動圖形化服務配置程式,在vncserver服務前加上星號,點擊確定,配置完成。 
第二種方法:使用“chkconfig”在命令列模式下進行操作,命令使用如下(預知chkconfig詳細使用方法請自助式man一下)
[root@localhost ~]# chkconfig vncserver on 


9.外網登入
   其實還是蠻簡單的。就是在路由器裡做一下連接埠映射就可以了。讓外網訪問能夠訪問映射到自己的ip上。連接埠映射其實就是常說的NAT地址轉換的一種,其功能就是把在公網的地址轉翻譯成私人地址, 採用路由方式的ADSL寬頻路由器擁有一個動態或固定的公網IP,ADSL直接接在HUB或交換器上,所有的電腦共用上網。
  連接埠映射其實就是常說的NAT地址轉換的一種,其功能就是把在公網的地址轉翻譯成私人地址, 採用路由方式的ADSL寬頻路由器擁有一個動態或固定的公網IP,ADSL直接接在HUB或交換器上,所有的電腦共用上網。

   VNC遠程登入學習就暫時總結到這裡。以後可以在機房遠程自己的電腦嘍。哇哈哈。。
   現在在機房成功登入到自己到電腦。開啟部落格留下此言。呵呵。(2012.05.30)。

二:Telnet配置學習
1.確認telnet及telnet-server安裝。如果木有安裝請自行安裝。

2.啟動telnet服務
   *開啟服務
方法一:使用ntsysv,在出現的視窗之中,將 telnet 勾選起來,然後按下 OK 即可 。
方法二:編輯 /etc/xinetd.d/telnet
#vi /etc/xinetd.d/telnet
[root@localhost ~]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改這裡,將 yes 改成 no 即可。服務預設是關閉的
   *啟用服務
telnet 是掛在 xinetd 底下的,所以自然只要重新啟用 xinetd 就能夠將 xinetd 裡頭的設定重新讀進來,所以剛剛設定的 telnet 自然也就可以被啟用。
[root@localhost ~]# service xinetd restart

3.測試服務
[root@localhost ~]#telnet ip(或者hostname)
如果配置正確,系統提示輸入遠程機器的使用者名稱和密碼
Login:
Password:
註:預設只允許普通使用者

4.設定telnet連接埠
#vi /etc/services
進入編輯模式後尋找telnet(???怎樣尋找)
會找到如下內容:
telnet 23/tcp
telnet 23/udp
將23修改成未使用的連接埠號碼(如:2000),退出vi,重啟telnet服務,telnet預設連接埠號碼就被修改了。

5.Telnet服務限制
如果原本的預設值你並不滿意,那麼你可以修改成比較安全一點的機制。假設你這個 Linux 是一部主機,而且他有兩塊網路介面,分別是對外的 192.168.0.1 與對內的210.45.160.17 這兩個,如果你想要讓對內的介面限制較松,而對外的限制較嚴格,你可以這樣的來設定:
#vi /etc/xinetd.d/telnet
# 先針對對內的較為鬆散的限制來設定:
service telnet
{ disable    = no         <==預設就是啟用 telnet 服務
bind       = 210.45.160.17    <==只允許經由這個適配卡的封包進來
only_from    = 210.45.160.0/24   <==只允許 210.45.160.0/24 這個網段的主機聯機進來使用 telnet 的服務
.....
}
# 再針對外部的聯機來進行限制
service telnet
{
disable     = no<==預設就是啟用 telnet 服務
bind       = 192.168.0.1<==只允許經由這個適配卡的封包進來
only_from    = 192.168.0.0/16<==只允許 192.168.0.0 ~ 192.168.255.255 這個網段聯機進來使用 telnet 的服務
only_from    = .edu.cn<==重複設定,只有教育網才能聯機。
no_access    = 192.168.25.{10,26}<==不許這些 PC 登入
access_times  = 1:00-9:00 20:00-23:59 <==每天只有這兩個時段開放服務
......
}

6.Telnet root使用者的登入
root 不能直接以 telnet 串連上主機。 telnet 不是很安全,預設的情況之下就是無法允許 root 以 telnet 登入 Linux 主機的 。若要允許root使用者登入,可用下列方法
[root @test /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #將這一行加上注釋。

# mv /etc/securetty /etc/securetty.bak
這樣一來, root 將可以直接進入 Linux 主機。不過,建議不要這樣做。還可以在普通使用者進入後,切換到root使用者,擁有root的許可權。

三:SSH配置學習
SSH是一個用來替代TELNET、Rlogin以及Rsh的傳統的遠程登陸程式的工具,主要是想解決口令在網上明文傳輸的問題。為了系統安全和使用者 自身的權益,推廣SSH是必要的。SSH有兩個不相容的版本1.x,2.x。RedHat Linux 9將預設的遠端管理服務設定成OpenSSH(一個ssh的替代產品)。不需要重新安裝軟體包。

1.配置openssh伺服器
ssh的設定檔是/etc/ssh/ssh_config,一般不要修改。
   *啟動伺服器!
#ntsysv =>確認將sshd前面的勾已打上。
   *手工啟動OpenSSH:
#service sshd start
#service sshd restart(重新啟動)
   *停止伺服器:
#service sshd stop

2.使用OpenSSH用戶端
Redhat linux 9預設已安裝了OpenSSH的用戶端,用戶端和伺服器串連時,可以使用兩種驗證方式:基於口令的驗證方式和基於密匙的驗證方式。Windows下推薦使用SecureCRT或SSH Secure Shell非商業版.
   *基於口令的驗證方式
這種驗證方式要求使用者輸入使用者名稱稱和密碼。若沒有指定使用者名稱稱和密碼,則預設使用當前在客戶機上的使用者名稱。
例1:直接登陸
[root@wljs /]#ssh 210.45.160.17
則登陸使用者名稱為客戶機目前使用者名。
例2:指定使用者名稱登陸
[root@wljs /]#ssh wwz@210.45.160.17
或: [root@wljs /]#ssh –l wwz 210.45.160.17
上面過程結束後,系統將會提示你輸入使用者名稱和密碼。
   *基於密匙的驗證方式
使用密匙的驗證方式,使用者先需要為自己建立一對密匙:公匙和私匙。(公匙用在要登陸的伺服器上)
OpenSSH公開密匙的密碼體制有RSA、DSA。
建立密匙:
例:[root@wljs /]#ssh-keygen –t rsa
斷行符號後,要求輸入使用密匙時的口令。這樣便產生了公匙和私匙:放在使用者主目錄下的.ssh目錄下,檔案名稱:id_rsa.pub和id_rsa!必須 將公匙複製到登陸的伺服器的~/.ssh/目錄下,並改名為:authorized_keys!然後,便可使用密匙方式登陸。
#ssh [–l username] ip地址或主機名稱

3.OpenSSH上常用的命令
   *不登陸遠程系統使用命令
#ssh 210.45.160.17 [命令] [參數]
   *本地系統和遠程系統間檔案的傳輸
#scp a.txt root@210.45.160.17:/b.txt
#scp root@210.45.160.17:/b.txt /c.txt
   *sftp命令
Sftp 命令和ftp命令類似,它是OpenSSH提供的網路傳輸檔案的小工具,它更加安全,使用和ftp相似的命令:主要有如下幾個:
   *登陸
#ftp 210.45.160.17
   *ftp 會話的開啟與關閉
開啟:open 210.45.160.27
關閉:close
   *檔案的傳輸
從ftp伺服器上得到檔案:
Get a.txt
向ftp上放檔案
Put a.txt
   *退出ftp
Bye
   *其他
bell:每個命令執行完畢後電腦響鈴一次
Cd ,ls 等一些常見命令也可以在ftp伺服器目錄中使用。

   telnet和ssh比想象中的簡單多了。呵呵。(2012.05.31)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.