Linux遠程連接管理(命令)


1.ftp服務器的搭建

  ftp的作用:文件的上傳和下載,不允許操作目錄,如果想操作目錄只能用tar打包。

(1)服務器端:

    ①.輸入”sudo apt-get install vsftpd“命令安裝vsftpd服務

    ②.判斷vsftpd是否安裝成功:在終端窗口輸入”sudo service vsftpd restart“命令重啟vsftpd服務器,此時若vsftpd處於運行狀態,則安裝成功。

    ③.新建/home/test 作為用戶的主目錄。在終端窗口輸入”sudo mkdir /home/test” 命令,輸入“sudo ls /home/”,若有一個test目錄,則用戶目錄創建成功。(新建test用戶並設置密碼:在終端輸入”sudo useradd -d /home/test -s /bin/bash test”命令,新建用戶,輸入“sudo passwd test”設置test用戶的密碼)。

    ④.修改配置文件/etc/vsftpd.conf,在終端中輸入“sudo vi /etc/vsftpd.conf”命令,打開vsftpd文件,進入插入操作向文件中追加以下代碼:

    userlist_deny=NO 

    userlist_enable=YES 

    userlist_file=/etc/allow_users 

    seccomp_sandbox=NO 

    local_enable=YES

    然后保存退出即可。

    ⑤.新建/etc/allow_users文件,在終端輸入“sudo vim /etc/allow_users”命令,輸入test,保存並退出即完成該文件的創建。(注:要查看/etc/ftpusers中的內容,在終端輸入”sudo vim /etc/ftpusers”命令,打開這個文件后,查看是否有test這個用戶名,若有,則刪除test。因為/etc/ftpusers 記錄的是不能訪問FTP服務器的清單。)

    

   

    ⑥.重啟服務

    (以上部分可以參考視頻:https://www.bilibili.com/video/av33660709?p=35

(2)客戶端:

    ①.實名用戶登錄:

        a.首先輸入命令:

        ftp [-dignv][主機名稱或IP地址]

        參數

  •   -d 詳細顯示指令執行過程,便於排錯或分析程序執行的情形。
  •   -i 關閉互動模式,不詢問任何問題。
  •   -g 關閉本地主機文件名稱支持特殊字符的擴充特性。
  •   -n 不使用自動登陸。
  •   -v 顯示指令執行過程。

        (也可以直接輸入ftp再輸入 open IP地址)

        b.輸入用戶名(server)

        c.輸入密碼(server)

        d.文件的上傳

            put:上傳指定文件put filename [newname]

            send:上傳指定文件send filename [newname]
            (filename為上傳的本地文件名,newname為上傳至FTP服務器上時使用的名字,如果不指定newname,文件將以原名上傳。)

        e.文件的下載

            get:下載指定文件get filename [newname]

            (filename為下載的FTP服務器上的文件名,newname為保存在本都計算機上時使用的名字,如果不指定newname,文件將以原名保存。)

      get命令下載的文件將保存在本地計算機的工作目錄下。該目錄是啟動FTP時在盤符C:后顯示的目錄。如果想修改本地計算機的工作目錄,可以使用 lcd 命令。比如:lcd d:\ 表示將工作目錄設定為D盤的根目錄。

    ②.匿名用戶登錄

        a.首先輸入命令:ftp serverIP

        b.輸入用戶名(server):anonymous

        c.輸入密碼(server):直接回車跳過密碼的輸入

        注意:不允許匿名用戶在任意目錄直接切換,只能在指定的目錄范圍內工作。需要在ftp服務器上創建一個匿名用戶的目錄——匿名用戶的根目錄。(這部分參考視頻:https://www.bilibili.com/video/av33660709?p=37

        d.文件的上傳:

            put:上傳指定文件put filename [newname]

            send:上傳指定文件send filename [newname]
            (filename為上傳的本地文件名,newname為上傳至FTP服務器上時使用的名字,如果不指定newname,文件將以原名上傳。)

        e.文件的下載:

            get:下載指定文件get filename [newname]

    ③.ftp實例合集

  • ftp> ascii # 設定以ASCII方式傳送文件(缺省值)
  • ftp> bell # 每完成一次文件傳送,報警提示.
  • ftp> binary # 設定以二進制方式傳送文件.
  • ftp> bye # 終止主機FTP進程,並退出FTP管理方式.
  • ftp> case # 當為ON時,用MGET命令拷貝的文件名到本地機器中,全部轉換為小寫字母.
  • ftp> cd # 同UNIX的CD命令.
  • ftp> cdup # 返回上一級目錄.
  • ftp> chmod # 改變遠端主機的文件權限.
  • ftp> close # 終止遠端的FTP進程,返回到FTP命令狀態, 所有的宏定義都被刪除.
  • ftp> delete # 刪除遠端主機中的文件.
  • ftp> dir [remote-directory] [local-file] # 列出當前遠端主機目錄中的文件.如果有本地文件,就將結果寫至本地文件.
  • ftp> get [remote-file] [local-file] # 從遠端主機中傳送至本地主機中.
  • ftp> help [command] # 輸出命令的解釋.
  • ftp> lcd # 改變當前本地主機的工作目錄,如果缺省,就轉到當前用戶的HOME目錄.
  • ftp> ls [remote-directory] [local-file] # 同DIR.
  • ftp> macdef # 定義宏命令.
  • ftp> mdelete [remote-files] # 刪除一批文件.
  • ftp> mget [remote-files] # 從遠端主機接收一批文件至本地主機.
  • ftp> mkdir directory-name # 在遠端主機中建立目錄.
  • ftp> mput local-files # 將本地主機中一批文件傳送至遠端主機.
  • ftp> open host [port] # 重新建立一個新的連接.
  • ftp> prompt # 交互提示模式.
  • ftp> put local-file [remote-file] # 將本地一個文件傳送至遠端主機中.
  • ftp> pwd # 列出當前遠端主機目錄.
  • ftp> quit # 同BYE.
  • ftp> recv remote-file [local-file] # 同GET.
  • ftp> rename [from] [to] # 改變遠端主機中的文件名.
  • ftp> rmdir directory-name # 刪除遠端主機中的目錄.
  • ftp> send local-file [remote-file] # 同PUT.
  • ftp> status # 顯示當前FTP的狀態.
  • ftp> system # 顯示遠端主機系統類型.
  • ftp> user user-name [password] [account] # 重新以別的用戶名登錄遠端主機.
  • ftp> ? [command] # 同HELP. [command]指定需要幫助的命令名稱。如果沒有指定 command,ftp 將顯示全部命令的列表。
  • ftp> ! # 從 ftp 子系統退出到外殼。

    關閉FTP連接:

    ftp> bye
    ftp> exit
    ftp> quit


    下載文件:

    ftp> get readme.txt # 下載 readme.txt 文件
    ftp> mget *.txt # 下載


    上傳文件:

    ftp> put /path/readme.txt # 上傳 readme.txt 文件
    ftp> mput *.txt # 可以上傳多個文件

2.SSH

(1)服務器端: 

    ①.安裝SSH:sudo apt-get install openssh-server

可以使用sudo aptitude show openssh-server命令查看SSH是否安裝

(這部分參考視頻:https://www.bilibili.com/video/av33660709?p=41

(2)客戶端:

    ①.遠程登錄:ssh Username@IP,其中,Username是用戶名,IP是遠程服務器地址。

ssh命令 是openssh套件中的客戶端連接工具,可以給予ssh加密協議實現安全的遠程登錄服務器。

語法:
ssh(選項)(參數)
選項:

  • -1:強制使用ssh協議版本1;
  • -2:強制使用ssh協議版本2;
  • -4:強制使用IPv4地址;
  • -6:強制使用IPv6地址;
  • -A:開啟認證代理連接轉發功能;
  • -a:關閉認證代理連接轉發功能;
  • -b:使用本機指定地址作為對應連接的源ip地址;
  • -C:請求壓縮所有數據;
  • -F:指定ssh指令的配置文件;
  • -f:后台執行ssh指令;
  • -g:允許遠程主機連接主機的轉發端口;
  • -i:指定身份文件;
  • -l:指定連接遠程服務器登錄用戶名;
  • -N:不執行遠程指令;
  • -o:指定配置選項;
  • -p:指定遠程服務器上的端口;
  • -q:靜默模式;
  • -X:開啟X11轉發功能;
  • -x:關閉X11轉發功能;
  • -y:開啟信任X11轉發功能。

參數:
遠程主機:指定要連接的遠程ssh服務器;
指令:要在遠程ssh服務器上執行的指令。
實例
# ssh 用戶名@遠程服務器地址
ssh user1@172.24.210.101

    ②.退出登錄:logout

3.SCP

Linux scp命令用於Linux之間復制文件和目錄。scp是 secure copy的縮寫, scp是linux系統下基於ssh登陸進行安全的遠程文件拷貝命令。

語法:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
簡易寫法:

scp [可選參數] file_source file_target
參數說明:

  • -1: 強制scp命令使用協議ssh1
  • -2: 強制scp命令使用協議ssh2
  • -4: 強制scp命令只使用IPv4尋址
  • -6: 強制scp命令只使用IPv6尋址
  • -B: 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
  • -C: 允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)
  • -p:保留原文件的修改時間,訪問時間和訪問權限。
  • -q: 不顯示傳輸進度條。
  • -r: 遞歸復制整個目錄。
  • -v:詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試連接,驗證和配置問題。
  • -c cipher: 以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。
  • -F ssh_config: 指定一個替代的ssh配置文件,此參數直接傳遞給ssh。
  • -i identity_file: 從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。
  • -l limit: 限定用戶所能使用的帶寬,以Kbit/s為單位。
  • -o ssh_option: 如果習慣於使用ssh_config(5)中的參數傳遞方式,
  • -P port:注意是大寫的P, port是指定數據傳輸用到的端口號
  • -S program: 指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項。

實例:
1、從本地復制到遠程

命令格式:

scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

       第1,2個指定了用戶名,命令執行后需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名,第3,4個沒有指定用戶名,命令執行后需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;第2個和第4個會保存在根目錄下。

復制目錄命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder

或者

scp -r remote_username@remote_ip:local_floder remote_floder

      第1個和第3個指定了用戶名,命令執行后需要再輸入密碼;第2個沒有指定用戶名,命令執行后需要輸入用戶名和密碼;

2、從遠程復制到本地


從遠程復制到本地,只要將從本地復制到遠程的命令的后2個參數調換順序即可,如下實例

      scp remote_username@remote_ip:/home/root/others/music /home/space/music/1.mp3

      scp -r remote_username:/home/root/others/ /home/space/music/

說明:

1.如果遠程服務器防火牆有為scp命令設置了指定的端口,我們需要使用 -p 參數來設置命令的端口號,命令格式如下:

#scp命令使用端口號 4588
scp -p 4588 remote@www.w3cschool.cc:/usr/local/sin.sh /home/administrator

2.使用scp命令要確保使用的用戶具有可讀取遠程服務器相應文件的權限,否則scp命令是無法起作用的。

 4.RSH

1.安裝rsh和rsh-server,命令如下:

sudo apt-get install rsh-client rsh-server xinetd

2.配置hosts文件,並在里面添加紅框和藍框(紅框充當服務機,藍框充當客戶機)的配置:

如果配置文件的權限不夠可以使用sudo su命令切換到root用戶。

3.配置/etc/xinetd.d/rsh、/etc/xinetd.d/rlogin、/etc/xinetd.d/rexec文件並重啟服務:

/etc/xinetd.d/rsh

/etc/xinetd.d/rlogin

/etc/xinetd.d/rexec

重啟服務:

sudo /etc/init.d/xinetd restart

以上步驟需要在客戶機和服務機都配置

4.在服務機配置.rhosts文件:

切換到root用戶,並在/root目錄下創建.rhosts文件,加入如下內容:

此文件用於root用戶之間的rsh連接

普通用戶的rsh連接還需要配置/etc/hosts.equiv文件

5.在文件/etc/securetty文件添加rsh rlogin rexec

6.重啟服務

sudo /etc/init.d/xinetd restart

7.在服務機上連接rsh服務

Linux rsh命令用於遠程登入的Shell。rsh(remote shell)提供用戶環境,也就是Shell,以便指令能夠在指定的遠端主機上執行。

語法:
rsh [-dn][-l <用戶名稱>][主機名稱或IP地址][執行指令]
參數說明:

  • -d  使用Socket層級的排錯功能。
  • -l<用戶名稱>  指定要登入遠端主機的用戶名稱。
  • -n  把輸入的指令號向代號為/dev/null的特殊外圍設備。

實例:
開啟rsh服務:

# chkconfig --list //檢測rlogin服務是否開啟

# chkconfig rsh on //開啟rsh服務

# chkconfig -list //檢測開啟的服務

Ubuntu開啟rsh服務:

      # sysv-rc-conf  --list //檢測rlogin服務是否開啟

      # sysv-rc-conf rsh on //開啟rsh服務

      # sysv-rc-conf -list //檢測開啟的服務

遠程命令執行:

# rsh -l hnlinux 192.168.1.88 /bin/ls //遠程執行ls命令

 

 

 

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM