網頁

2013年10月8日 星期二

[Ubuntu] 安裝 Telnet server 及 SSH server

Telnet server 可以提供 遠端登入, 操作的能力. 實在是相當方便的工具. 不過由於安全性的關係, 在新版的 Ubuntu 的 release 已經取消內建安裝. 所以我們必需要自行安裝. 以下記錄安裝的過程.

由於 Telnet 是以明文傳送, 所以有安全上的問題. 新的系統大多以 SSH 取代, 所以也會介紹 SSH 的安裝.

安裝的平台是 Ubuntu server 12.04.03 LTS

Install telnet server:


1. 下載並安裝 telnet server

        $ sudo apt-get install xinetd telnetd


2.  修改設定檔

        修改 /etc/inetd.conf, 加入以下敘述

        telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd


        修改 /etc/xinetd.conf, 如以下

        # Simple configuration file for xinetd
        #
        # Some defaults, and include /etc/xinted.d/
        defaults
        {
        #Please note that you need a log_type line to be able to use log_on_success
        #and log_on_failure. The default is the following :
        #log_type = SYSLOG daemon info
     
        instances = 60
        log_type = SYSLOG authpriv
        log_on_success = HOST PID
       log_on_failure = HOST
       cps = 25 30
}

 

3.  修改連接埠

        在 etc/services 這個檔案中, 找到 telnet 的這一行, 做如下的修改

        telnet       23/tcp

        不過, telnet 預設就是 port 23, tcp connection, 所以應該是不需要改

4. 啟動/停止 telnet server

        $ sudo service xinetd start
        $ sudo service xinetd stop

        正確的啟動的時候, 會有 xinetd start/running 的訊息. 代表 telnet 已經開始執行. 可以 telnet 登入系統測試看看.

        $ telnet localhost
 

5. 錯誤及問題解除

        1. 啟動服務時, 出現錯誤

        我在安裝完, 啟動的時候, 有遇到錯誤. 後來檢查 system log, 才發現是我在修改設定檔的時候, 敲錯了字. 可以用以下的命令檢視 system log, 比較快的找到問題

        $ cat /var/log/syslog | grep xinetd

        2. 檢視服務狀態

        $ service xinetd status

Install & SSH server, SSH client


SSH 可以在安裝 Ubuntu 的時候勾選, 就會自行安裝. 如果安裝 Ubuntu 時沒有安裝 SSH server, 可以參考以下的筆記安裝.

1. Install SSH server

         $ sudo apt-get install openssh-server

         這樣就完成了
 
2. SSH Client from Windows

        在 windows 上, 也有一些 SSH client 的軟體, 這邊用的是 PuTTY

        以下是下載的連結
        http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

       這個頁面有許多檔案, 為了方便起見, 這邊選擇的是 windows installer 的版本. 安裝過程沒有太複雜的選項, 一路 confirm 到底就好了. 啟動後, 填入 domain name 或是 ip-address, 預設連接埠就是 22, 不需要修改. 只要在 Linux 上有帳號, 密碼, 就可以登入了.

3. PSCP 傳送檔案

       有時候會需要修改 Linux 上面的檔案. 譬如設定檔, 腳本, 原始碼. 如果對 Linux 上面的編輯器不熟, 就很吃力. Linux 的 server , 有時候也沒有安裝視覺化的文字編輯器. 如果可以把檔案複製到 windows 上修改, 再放回去, 就會比較方便.

       在PuTTY 的下載畫面, 有一個 PSCP 可以完成這件事
        http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
      
       下載完成, 可以用以下的命令, 複製檔案到近端
       C:> pscp (user-name)@(domain-name):(file-name) (local-file-name)
 
       譬如說, 我在 Linux 上面的帳號是 nick, Linux 沒有 domain name, 但是 IP Address 是 192.168.1.213, 在 Linux 上的 home 目錄下, 有一個 out 的目錄, 裡面有一個 usb_main_dev.c, 我想要把它 copy 到我現在 windows 的目錄, 那麼命令列就會是這個樣子

      C:> pscp nick@192.168.1.213:/out/usb_main_dev.c  .
       
      執行的時候, 會要求輸入密碼, 然後, 檔案就 copy 下來了
 

 

 

 

1 則留言:

  1. " 修改 /etc/inetd.conf, 加入以下敘述 " 這句話是否改為 " 修改 /etc/xinetd.conf, 加入以下敘述 " 在etc資料夾下 無此 " inetd.conf " 檔案

    回覆刪除

請提供您寶貴的意見