SSH

在日常生產中,我們一般情況下都是在遠程端去控制服務器,很少直接接觸服務器,這就使得我們掌握如何使用ssh服務等遠程服務很重要了。SSH可以實現遠端掌控服務器,查看服務器的狀態、信息等一些情況。掌握其原理,對於我們去理解別的遠程工具有一定的作用;容易掌握。     
一、SSH基本介紹

1、含義:

        SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲建立在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH<摘自:百度>。

2、實現SSH的方法

    (1)OpenSSH 工具
    (2)dropbear 工具
3、SSH協議版本

    SSHv1:基於CRC-32做MAC(Massage Autherization Code);不安全。
    SSHv2:雙方主機協議選擇安全的MAC方式,基於DH算法做祕鑰交換,基於RSA或DSA實現身份認證。

4、SSH認證方式

    - 基於passwd認證方式
    - 基於祕鑰認證

二、實現SSH的管理方法

1、基於OpenSSH

(1)概念

        OpenSSH 是 SSH (Secure SHell) 協議的免費開源實現。SSH協議族可以用來進行遠程控制, 或在計算機之間傳送文件。而實現此功能的傳統方式,如telnet(終端仿真協議)、 rcp ftp、 rlogin、rsh都是極爲不安全的,並且會使用明文傳送密碼。OpenSSH提供了服務端後臺程序和客戶端工具,用來加密遠程控件和文件傳輸過程中的數據,並由此來代替原來的類似服務。

(2)openssh工具

(a)ssh工具相關的安裝包

    openssh-VERSION.rpm 通用包
    openssh-server-VERSION.rpm  服務端安裝包
    openssh-client-VERSION.rpm 客戶端安裝包

(b)配置文件

 /etc/sshd/ssh_config客戶端配置文件

選項
    Host *     表示所有主機    
    StrictHostKeyChecking ask    首次登陸是否檢查提示    
    ForwardX11Trusted yes    是否開啓信任x11轉發    
   
 /etc/sshd/sshd_config 服務器端配置文件

選項    
    Port 22     默認端口號爲22    
    AddressFamily any     地址家族    
    ListenAddress ::       監聽的地址    
    HostKey    密鑰存放的位置    
    AuthorizedKeysFile    認證文件存放位置    
    PermitRootLogin     是否允許管理員登錄,建議改爲no    
    UseDNS    是否支持dns反向解析  此選項和GSSAPIAuthentication 同時使用;    
    ClientAliveInterval和ClientAliveCountMax    同時使用,兩者相乘,就是連接的存活時間。    
    MaxAuthTries     最多認證次數    
    Banner /path/file    登錄的提示信息    
    MaxSessions      最多會話    
    AllowUsers     允許用戶    
    AllowGroups     允許組\>    
    DenyUsers    禁止用戶    
    DenyGroups    禁止組    
  (3)ssh工具使用格式

        ssh [user@]host [COMMAND]
        ssh [-l user] host [COMMAND]
選項:
    -c     壓縮方式    
    -b     綁定IP連接    
    -p    PORT 指定對方的端口號    
    -X    支持x11轉發    
    -y     支持信任x11轉發,與配置文件ForwardX11Trusted有關    
    -t    強制僞tty分配    

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

**示例:**
假設這裏有三臺機器,CnetOS6.9-1 IP爲192.168.159.138;CnetOS6.7-1 IP爲192.168.159.139;CnetOS7.3-2 IP爲192.168.159.161。CentOS6.9-1 可以與CentOS7.3-1通信,不能與CentOS7.3-2通信;而CentOS7.3-1可以與CentOS7.3-2通信。如何實現CentOS6.9-1與CentOS7.3-2通信呢?

(1)在CentOS7.3-2禁止CentOS6.9-1的IP 連接

[root@localhost~]#iptables -A INPUT -s 192.168.159.138 -j REJECT

(2)在CentOS6.9-1測試是否能ping通

[root@centos6~]#ping 192.168.159.161
PING 192.168.159.161 (192.168.159.161) 56(84) bytes of data.
From 192.168.159.161 icmp_seq=1 Destination Port Unreachable

(3)然後通過CentOS7-1爲跳板機連接到CentOS7.3-2主機上
(a)先測試CentOS6.9-1是否能連接到主機CentOS7.3-2

[root@centos6~]#ssh 192.168.159.161
ssh: connect to host 192.168.159.161 port 22: Connection refuse

(b)利用CentOS7.3-1作爲跳板機連接到CentOS7.3-2主機上

[root@centos6~]#ssh -t 192.168.159.139 ssh 192.168.159.161
[email protected]'s password: 
[email protected]'s password: 
Last login: Tue Sep 12 19:21:37 2017 from 192.168.159.161

 順利的解決了我們遇到的問題。

   (4)工作機制
   
         當客戶端連接SSH服務器時,會複製ssh服務器 `/etc/ssh/ssh_host*.key.pub ` (CentOS7是/etc/ssh/ssh_host_ecdsa_key.pub)文件中的公鑰到客戶機的` ~./ssh/know_hosts`中。下次連接時,會自動匹配響應的私鑰,如果匹配成功,則連接,反之亦然。

    (a)客戶端向服務器端發出請求
    (b)服務器端接受到請求,發送公鑰給客戶端
    (c)客戶端輸入賬戶和密碼通過服務器端的公鑰加密回傳給服務端
    (d)服務端通過自己的私鑰解密,得到用戶名和密碼與本地作對比驗證,驗證成功則允許登錄,反之亦然。

__示例:__

前提:CentOS 6 IP 爲192.168.10.100
;CentOS 7 IP 爲192.168.10.101

(1)使用ssh命令使兩臺主機通信

   [

root@centos6~]#ssh [email protected]
    The authenticity of host '192.168.10.100(192.168.10.100)' can't be established.
    RSA key fingerprint is a1:18:36:cc:e4:a1:de:c5:ad:6f:e4:ec:91:1d:d7:c4.
    Are you sure you want to continue connecting (yes/no)? yes  #第一次連接會詢問是否信任此臺主機
    Warning: Permanently added '192.168.10.100' (RSA) to the list of known hosts.
    [email protected]'s password:  #輸入密碼
    Last login: Sat Sep  9 23:30:57 2017 from 192.168.159.1# #登錄成功


上面詢問/etc/ssh/ssh_con1fig文件下的選項StrictHostKeyChecking 有關,如果該爲no,則不會顯示檢查

 `[root@localhost~]#l.  #查看是否生成.ssh目錄

上述過程中CentOS 6系統會自動創建`~/.ssh/known_hosts`且會複製CentOS 7中的公鑰到自己主機上。

(2)上述的驗證機制與公鑰有關還是私鑰有關呢?

下面我們再啓動 一臺虛擬主機 CentOS 7.2 IP 爲 192.168.10.102
現在我們讓CentOS 7.2 冒充CnetOS 6

情況一:修改CentOS 7.2的IP地址爲192.168.10.100,嘗試連接CentOS 7 

(a)修改IP地址爲192.168.10.100

(b)把CentOS6服務端IP禁用
  
[root@localhost~]#ifconfig eth0 down

(c)使用客戶機CentOS 7 連接

[root@localhost~]#ssh 192.168.10.100
會發出WARNING警告遠程主機認證已經改變。

情況二:如果我們把公鑰複製到CentOS 7.2中連接呢?

(a)將`/etc/ssh/ssh_host_rsa_key.pub`拷貝到冒充主機上

[root@localhost~]#scp /etc/ssh/ssh_host_rsa_key.pub 192.168.10.102:/etc/ssh

(b)連接CentOS 7.2

[root@localhost~]#ssh 192.168.10.100


會發出警告。

情況三:如果我們發私鑰複製到CentOS7.2中,連接會發生什麼情況?

[root@localhost~]#ssh 192.168.10.100

認證成功,所以我們在日常生產中保管好自己的私鑰文件。

(5)ssh服務的最佳實踐


建議    
    不要使用默認端口    Port    
    禁止使用version 1 protocol    Protocol    
    限制可登錄用戶    MaxAuthTries    
    設定空閒會話時長    ClientAliveInterval和ClientAliveCountMax    
    利用防火牆設置ssh訪問策略    
    僅監聽特定的IP地址    ListenAddress    
    基於口令認證時,使用強密碼策略    
    基於密鑰的認證    PubkeyAuthentication    
    禁止使用空密碼    PasswordAuthentication    
    禁止root用戶直接登錄    PermitRootLogin    
    限制ssh的訪問頻度和併發在線數    MaxAuthTries和MaxSessions    
    做好日誌分析    SyslogFacility    
三、基於密鑰認證
1、工作機制
    (a)客戶端在本機生成一對密鑰
    (b)客戶端通過密令將本機的公鑰拷貝到服務器端,服務端會將客戶端的公鑰存在至`~/.ssh/authorized.keys`目錄下
    (c)客戶端再次發送請求時,包括IP、用戶名;
    (d)服務端在通過上述目錄查找是否有與之對應的公鑰,如果查找成功響應IP和用戶名,會隨機生成一個字符串
    (e)服務端將使用客戶端的公鑰進行加密,然後發送給客戶端
    (f)客戶端得到服務端發來的消息後,客戶端使用私鑰進行解密,將解密的字符串發送給服務端
    (g)服務端接受客戶端發來的字符串後,跟之前對比,如果一致,允許登錄,反之亦然。
###2、生成密鑰對命令的介紹
    ssh-keygen:authentication key generation, management and conversion
    格式:
        ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]   [-f output_keyfile]

    選項:
        -t 加密的類型
        -P 是否對生成的私鑰加密
        -f 指定的文件名
    ssh-copy-id :install  your  public  key  in a remote machine’s authorized_keys
    格式:
        ssh-copy-id [-i [identity_file]] [user@]machine

    選項:
        -i 指定公鑰存放的位置

###3、基於key的過程
(a)在客戶端生CentOS 7在一對密鑰

    [root@localhost~]#ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): #密鑰存放的位置
    Enter passphrase (empty for no passphrase): #是否對密鑰加密,建議加密,這裏相當於選項-P
    Enter same passphrase again:  
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:  
    f5:f9:21:08:dd:2a:8d:f7:9f:88:4e:88:53:3e:45:a3 [email protected]
    The key's randomart p_w_picpath is:
    +--[ RSA 2048]----+
    |                 |
    |         . .     |
    |        . = .    |
    |         B = .   |
    |        E * + .  |
    |       + = . o . |
    |      o + . . .  |
    |       . o . o . |
    |         .o . o  |
    +-----------------+
(b)使用命令將公鑰拷貝到服務端CentOS 6主機上

    [root@localhost~]#ssh-copy-id -i .ssh/id_rsa.pub [email protected]
    [root@centos6~]#ls .ssh/authorized_keys 查看是否在服務端生成目錄`authorized.keys`
    .ssh/authorized_keys
(c)測試

    [root@localhost~]#ssh 192.168.10.100
    Last login: Thu Sep  7 18:39:01 2017 from 192.168.159.1  #登錄成功

**如果我們私鑰加密需要驗證多臺,如果我們一臺一臺的驗證,這樣顯然不是我們想要的方法,下面就很好的解決了我們這個問題**

####ssh-agent命令介紹
    ssh-agent是個長時間持續運行的守護進程(daemon),設計它的唯一目的就是對解密的專用密鑰進行高速緩存,這是一個一次性的過程,如果終端退出即消失。
####工作機制
      如果執行這條命令,會啓動後臺一個子進程。代理一開始並沒有私鑰文件,私鑰文件是通過命令`ssh-add`添加。並且把文件~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and
     ~/.ssh/identity添加到代理中。通過使用環境變量能定位和驗證。SSH_AUTH_SOCK和SSH_AGENT_PID環境變量。
####實現代理的方法
    (a)ssh-agent xterm &  利用內含的export命令執行環境使環境變量可用
    (b)eval `ssh-agent -s`
                -s sh ksh
                -c csh
####步驟

(a)對上述生成的密鑰加密
   
    

 [root@localhost~]#ssh-keygen -p  #-p 修改密碼
    Enter file in which the key is (/root/.ssh/id_rsa): 
    Key has comment '/root/.ssh/id_rsa'
    Enter new passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Pass phrases do not match.  Try again.


(b)啓動代理

   

 [root@localhost~]#ssh-agent bash

#啓動一個bash子進程
(c)將私鑰文件添加至代理中

    

[root@localhost~]#ssh-add
    Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)


(d)測試
   

 [root@localhost~]#ssh 192.168.10.102
    Last login: Sun Sep 10 17:46:13 2017 from 192.168.10.101


登錄成功,這樣提高了我們的工作效率。
###4、利用xshell基於key連接
     在xshell中工具-->新建用戶密鑰生成嚮導-->選擇密鑰類型和密鑰長度-->給密鑰名稱命名並給密鑰加密-->選擇公鑰格式-->保存公鑰文件至指定目錄下-->將公鑰複製到需要遠程連接的主機上~/.ssh/authorized.keys目錄下,如果沒有文件需要創建此目錄,並修改權限。
在生成密鑰是選擇不合適的公鑰格式,可以使用密令修改:

[root@centos6~]#ssh-keygen -i -f PUBLIK.key >>~/.ssh/authorized.keys


        -i 讀取不加密的私鑰和公鑰非OpenSSH兼容輸出
##四、端口轉發
在日常生產中,我們常常會遇到這樣的問題,在公司運行一個服務或者一些程序,想要查看其運行狀態及其結果等;公司的機器只能從內部訪問外網,而內部外的並不能訪問內部的機器;或者公司有一臺ssh服務器,不能使用telnet服務去訪問內部的主機,這樣我們如何解決呢?由於ssh服務加密傳輸數據,我們可通過ssh服務解決上述問題。通過ssh連接首先構建一個”隧道“,然後可以通過這個隧道,遠程連接到主機。
###1、ssh本地端口轉發

格式:ssh -L localPort:remateIp1(需要遠程連接的IP):rematePort  IP2(跳板機的IP)


選項 
-f 後臺啓用
-N 不打開遠程shell,處於等待狀態
-g 啓用網關功能 

示例

假設這裏有三臺機器,CnetOS6.9-1 IP爲192.168.159.138;CnetOS6.7-1 IP爲192.168.159.139;CnetOS7.3-2 IP爲192.168.159.161。CentOS7.3-2和CentOS7.3-1在公司的局域網中,CentOS6.9-1想連接CentOS7.3-2與之通信,該如何實現?

(1)模擬一個環境,先禁止CentOS6.9-1遠程連接CentOS7.3-2
   

[root@localhost~]#iptables -A INPUT -s 192.168.159.138 -j REJECT



(2)首先確認要使用本地端口是否被別的服務佔用

[root@centos7~]#ss -tn



(3)CentOS6.9-1利用ssh本地端口轉發連接

[root@centos6~]#ssh -L 10001:192.168.159.161:23 -fN 192.168.159.139
[email protected]'s password: 
Last failed login: Tue Sep 12 05:04:50 CST 2017 from ``192.168.159.138 on ssh:notty
There were 4 failed login attempts since the last successful login.
Last login: Tue Sep 12 04:58:25 2017 from 192.168.159.1



(4)查看隧道是否建立成功

[root@centos6~]#ss -tn
State      Recv-Q Send-Q       Local Address:Port         Peer Address:Port 
ESTAB      0      0          192.168.159.138:22          192.168.159.1:4708`
  
ESTAB      0      0          192.168.159.138:35506     192.168.159.139:22`
                           #已經建立連接
[root@localhost~]#ss -tn
   #在CetnOS 7.3-2無連接
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port    
        
ESTAB      0      0      192.168.159.161:22                 192.168.159.1:474



(5)在CentOS6.9-1ftp服務連接操作了

[root@centos7~]#ssh -p 10000 127.0.0.1



(6)如果我們連接完成想刪除“隧道”該怎麼解決呢?此時只能同過kill命令刪除

[root@centos7~]#kill -9 `pidof ssh`



2、ssh遠程端口轉發
與上述示例相反,內網中只有一臺主機可以訪問外網,而另外一臺主機不能訪問外網,但是另外一臺主機要想與外部的主機連接時,只能讓一臺主機作爲跳板機,連接至外部機器,下面是實現方法:

(1)先模擬出來一個環境,同上述環境一樣

(2)在CentOS7.3-2主機上創建隧道

[root@centos7~]#ssh -R 9999:192.168.159.138:22 -fN 192.168.159.164

(3)查看端口是否創建成功

[root@centos7~]#ss -tn
State       Recv-Q Send-Q Local Address:Port                Peer Address:Port    
                 
ESTAB       0      0      192.168.159.139:51608              192.168.159.164:22


(4)在CentOS7.3-2連接CentOS6.9-1

[root@localhost~]#telnet 127.0.0.1 9999

(5)此處刪除的方法更ssh本地端口轉發一樣。

3、ssh動態端口轉發
上述的兩種,只是點對點的轉發,如果我們有許多的端口,顯然這樣操作是不理想的,所有ssh支持ssh動態端口轉發功能。如果某一臺機器不能受限制不能訪問某些網站,而另一臺主機可以訪問,ssh動態轉發就解決了這個問題。工作原理是本地機器上分配一個socket偵聽port端口,一旦這個端口上有了連接,該連接就經過安全通道轉發出去,根據應用程序的協議可以判斷遠程主機和哪裏連接。

注意:只有root才能轉發特權端口。

格式:ssh -D <local port> <SSH Server>

(1)建立通道

[root@centos7~]#ssh -D 1080 -fN 192.168.159.165



(2)測試是否成功

[root@centos7~]#curl --socks5 127.0.0.1 http://192.168.159.166
test

上述過程中與sshd_config中的幾個選項有關,AllowTcpForwarding、
GatewayPorts

4、X協議轉發

格式:ssh -X user@remotehost  gedit

X協議轉發與sshd_config配置文件中的選項`X11Forwarding`有關。

五、複製文件命令介紹
1、scp命令
    scp:secure copy (remote file copy program)
格式:
        scp [options] [user@]host:/sourcefile /destpath 
        scp [options] /sourcefile [user@]host:/destpath


選項
    -c 壓縮數據流
    -r 遞歸複製
    -p 保持原文件屬性
    -q 靜默模式
    -P PORT 指明遠程主機的端口

2、rsync
    rsync: rsync - a fast, versatile, remote (and local) file-copying tool
 格式:
        Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
        Push: rsync [OPTION...] SRC... [USER@]HOST:DEST


選項
    -n 模擬複製過程 
    -v 顯示詳細過程 
    -r 遞歸複製 
    -p 保留權限 
    -t 保留時間戳 
    -g 保留組信息 
    -o 保留所有者信息 
    -l 將軟連接文件本身複製 
    -L 將軟連接文件指向的文件複製 
    -X 保留SElinux屬性 
    -a 存檔,但不保留ACL和SElinux屬性 
**注意:rsync命令只複製原有文件修改的文件或目錄。而scp不管是否修改文件屬性都複製。**
3、sftp命令
    scp:secure file transfer program,交換式傳輸工具
    格式:
         sftp [user@]host[:file ...]
         sftp [user@]host[:dir[/]]

如果我們管理幾十臺或者更多機器,使用起來並不是特別方便,而且還耗時耗力。下面介紹介個輕量級的工具。
4、pssh
    pssh包是來自於epel源。
         /usr/bin/pnuke
         /usr/bin/prsync
         /usr/bin/pscp.pssh
         /usr/bin/pslurp
         /usr/bin/pssh
以上執行的命令。
   
    pssh命令: parallel ssh program
格式:

   pssh  [-vAiIP]  [-h hosts_file] [-H [user@]host[:port]] [-l user]
       [-p par] [-o outdir] [-e errdir] [-t timeout]  [-O  options]  [-x
       args] [-X arg] command ...


選項 
    -h HOST_FILE 包含IP的文件 
    -H [user@]IP[:port]  連接的主機,如果要接連多個主機用“”引起來,主機之間空格分開 
    -l USER|用戶名 
    -p  併發數 
    -t 超時秒數 
    -o OUTDIR 輸出目錄,在該目錄下創建 
    -e ERRDIR 錯誤輸出目錄 
    -x ARGS|傳遞過個命令,多個命令用“”引起來,使用空格分隔 
    -X  同-x意義一樣,但每次只傳遞一個命令 
    -i 將輸出結果輸出當前終端 
    -I 讀取每個輸出命令,並傳遞ssh進程,允許腳本傳送到標準輸入 
    -v 顯示ssh連接時的錯誤信息 
    -P 打印輸出 
    -A 提示輸入密碼,並把密碼傳遞給ssh服務 

示例

    pslurp:parallel process kill program
格式:
              pslurp  [-vAr]  [-h hosts_file] [-H [user@]host[:port]] [-l user]
       [-p par] [-o outdir] [-e errdir] [-t timeout]  [-O  options]  [-x
       args] [-X arg] [-L localdir] remote local

 
選項 
    -L localdir 複製遠程主機文件或目錄到本機指定的目錄下 
    -r 遞歸複製 
        其他選項請參考pssh

    prsync  將文件或文件夾從本地同步到遠程主機上
 格式:
           prsync [-vAraz] [-h hosts_file] [-H [user@]host[:port]] [-l user]
       [-p par] [-o outdir] [-e errdir] [-t timeout]  [-O  options]  [-x
       args] [-X arg] [-S args] local remote

 選項 
    -a 可以維持文件的屬性 
    -z 壓縮傳輸 
    pnuke:殺死遠程主機上的進程,相當於killall

六、dropbear
Dropbear是一個相對較小的SSH服務器和客戶端。它運行在一個基於POSIX的各種平臺。 Dropbear是開源軟件,在麻省理工學院式的許可證。 Dropbear是特別有用的“嵌入”式的Linux(或其他Unix)系統,如無線路由器。  <摘自:百度>

1、安裝dropbear工具包
(a)從官網上下載dropbear源碼包並安裝有關編譯的環境包組
(b)編譯安裝源碼包

[root@centos7/usr/src]#tar xvf dropbear-2017.75.tar.bz2 
[root@centos7/usr/src/dropbear-2017.75]#./configure
[root@centos7/usr/src/dropbear-2017.75]#make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
[root@centos7/usr/src/dropbear-2017.75]#make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install

(c)有關命令的存放位置

/usr/local/sbin和/usr/local/bin

(d)生成key存放的位置

    dss /etc/dropbear/dropbear_dss_host_key
    rsa /etc/dropbear/dropbear_rsa_host_key
    ecdsa /etc/dropbear/dropbear_ecdsa_host_key

(e)創建目錄並生成密鑰

[root@centos7/usr/local/sbin]#mkdir /etc/dropbear
[root@centos7/usr/local/bin]#dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048
    Generating key, this may take a while...
    Public key portion is:
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCfn+syhEMRgkxQ1Y/8Hzu54aTv23hLKyiDOTNVAqpZD+kS63TOcD4r5wCQsARNhl4e0kKWz9CLl6y3cWPxO+BbxCcZ+Ue2HqGQO2vhltzD2voL5xuOOg50nv1nrMrudS3kIYkg3gmVhn0Z0nKntJFdbzihzbLU0c1MgstTscu0PpX7q9j2c0mUHuYFqTmj2X4AJB0qjj8VZs93KTn3YyzVBph7mub8FQkS+fLjMvzan66+GjAtafeR+ezoFP6NAC7BuVaHaKoUNyP/myZgA3wkM4LL8OuoSk3uJia5ZDzDEsUNcHsmwaDVlJDGbjMRx+Djoafj9JNE7su+TmLMl2z root@centos7
    Fingerprint: md5 bf:3b:0a:85:94:85:e1:af:91:74:14:d3:e2:0c:6e:d0



(f)啓動dropbear
dropbear選項
    -F    Don't fork into background前臺執行    
    -E      Log to stderr rather than syslog輸出信息在屏幕上    
    -p [address:]port    Listen on specified tcp port (and optionally address),up to 10 can be specified(default port is 22 if none specified)    

[root@centos7/usr/local/bin]#dropbear -p 2222 -F -E

(g)使用dbclinet遠程連接

[root@centos6/usr/local/bin]#dbclient 192.168.159.139

(h)拷貝文件

[root@centos6/usr/local/bin]#scp /etc/fstab 192.168.159.139:/
    /usr/bin/dbclient: No such file or directory
    lost connection

此時連接會報錯,說我們沒有/usr/bin/dbclient

[root@centos6/usr/local/bin]#hash

通過hash命令查看確實是使用我們剛剛創建的路徑程序,所有解決此問題創建一個軟連接即可。

[root@centos6/usr/local/bin]#ln -sv /usr/local/bin/dbclient /usr/bin/dbclient
/usr/bin/dbclient' -> `/usr/local/bin/dbclient
[root@centos6/usr/local/bin]#scp /etc/fstab 192.168.159.139:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章