1. 程式人生 > 實用技巧 >openssh與安全

openssh與安全


ssh服務的最佳實踐:

1 不要使用預設埠

2 禁止使用協議版本1

3 限制可登陸多使用者,最好做一個白名單

4 設定空閒會話超時時長 (使用者連上去無操作多長時間自動端看連線)

5 利用防火牆設定ssh的訪問策略,例如僅允許哪些主機訪問連線

6 僅監聽特定的ip地址 (如果有多個ip,還是內外網,還有***,那就僅開通內網遠端登入,通過遠端***,再登入伺服器)

7 基於口令認證時,要採用強密碼策略 (不低於8位,常換,不用弱口令,各類字元都有)

8 使用基於祕鑰的認證

9 禁止使用空口令

10 禁止管理員直接登入

11 限制ssh的訪問頻度(密碼錯了幾次就斷開)和併發線上數

12 做好日誌分析,使用awk等做好統計

/var/log/secure


ssh protocol ssh協議的版本:

v1:不安全(有些老的程式只支援第一版,所以有時還是要開啟)

v2

Openssh:

sshd :配置檔案 /etc/ssh/sshd_config

ssh 配置檔案 /etc/ssh/ssh_config

客戶端程式ssh:

ssh [option] [[email protected]]host [COMMAND]

ssh -l user [option] host [COMMAND]

常用選項:

-l user指定的使用者登入遠端主機

-p port指明遠端伺服器的埠;為了伺服器安全是要修改ssh的埠

-b bind_ip把服務繫結在某個

ip上面,多ip時可以使用這個選項

-X 支援x11轉發

-Y 支援信任的X11轉發

X:協議,x-windows圖形化視窗,也是C/S架構圖形為C,主機為S

X11轉發的作用:在本地顯示遠端主機上面的圖形視窗,首先本地為X圖形介面,或者提供了x server,並不需要遠端主機上面有圖形介面功能

-o 後面根特定的選項 -o StrictHostKeyChecking=no不做嚴格的主機登入檢查,不輸入yes

-t強制偽tty分配,你想連線的sshd伺服器不能一次性到達,需要中間先登入一個sshd伺服器,通過跳板機到達

~# ssh -t remoteserver1 ssh remoteserver2

先連線遠端主機1,通過遠端主機分配偽終端,跳轉到遠端主機2

當然在此過程中你要先後輸入兩次密碼了,(你懂得)

省略command則表示為登入這臺主機;如果使用命令,則表示臨時切換主機執行完指定命令後退出遠端的主機

~# ssh 172.16.1.1 (使用本地登入使用者名稱作為遠端登入使用者名稱,並不是root就是預設使用者)

~# ssh [email protected]

~# ssh -p 20000 172.16.1.5

~# ssh 172.16.1.1 shutdown -h now (關機你就連線不上了^_^)

~# ssh -o StrictHostKeyChecking=no 172.16.1.4 第一次遠端登入時跳過yes確認遠端登入物件

[[email protected] xinetd.d]# ifconfig eth0 | grep "inet addr:"

inet addr:172.16.1.2 Bcast:172.16.255.255 Mask:255.255.0.0

[[email protected] xinetd.d]# ssh 172.16.1.1

[email protected]'s password:

Last login: Wed Jun 29 23:20:39 2016 from 172.16.250.146

[[email protected] ~]# ip addr show eno16777736 | grep "inet\b"

inet 172.16.1.1/16 brd 172.16.255.255 scope global eno16777736

[[email protected] ~]# exit

登出

Connection to 172.16.1.1 closed.

[[email protected] xinetd.d]# ssh 172.16.1.1 "ip addr show eno16777736 | grep 'inet\b' "

[email protected]'s password:

inet 172.16.1.1/16 brd 172.16.255.255 scope global eno16777736

接收的所有認可的伺服器列表:~/.ssh/known_hosts 一個一行

ssh的配置文件/etc/ssh/ssh_config 修改檔案則以後會成為預設

OPTION1 VALUE

#開頭的是預設的

vim /etc/ssh/ssh_config

StrictHostKeyChecking no以後登入遠端主機不在第一次輸入yes,採用非嚴格的遠端登入

ssh主機認證:需要用到主機認證祕鑰,此祕鑰由伺服器端維護和提供

ssh支援的使用者認證:

基於口令的認證:使用者輸入賬號和密碼

基於祕鑰的認證:使用者提供一對金鑰,私鑰保留在客戶端,公鑰儲存在遠端伺服器端

ssh基於祕鑰的認證

ssh-keygen [-q] [-b bits] -t type [-f output_keyfile]

-q

靜默模式

-b

祕鑰位數,512,1024,2048,4096,預設2048

-t

指明祕鑰格式rsadsaecdsa橢圓曲線演算法,最好使用rsa或者ecdsa

-f

儲存到哪個檔案當中

預設在~/.ssh目錄下

-P

指明對私鑰加密的密碼

-v

除錯模式

-C

壓縮方式

-X

只是X11轉發

-Y

只是信任X11轉發



~# ssh-keygen -t ecdsa 會在~/.ssh目錄下生成id_ecdsa私鑰和id_ecdsa.pub一對

~# ssh-keygen -t rsa -P '' 指明私鑰密碼為空密碼,則會跳過讓你指定私鑰密碼環節

注:每個使用者的一對私鑰和公鑰是可以重複使用的,不用每次都執行一次建立一對祕鑰,不然會覆蓋原有的私鑰和公鑰,尤其是你已經開始使用了,如果還想連結更多臺的伺服器,直接使用已存在的公鑰傳輸給其他使用者

[[email protected] ~]# 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): 這個位置是輸入私鑰的加密密碼(以後你安裝的時候

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:

aa:a1:93:52:ca:12:82:64:13:7c:c9:0c:df:b5:f3:50 [email protected]

The key's randomart p_w_picpath is:

+--[ RSA 2048]----+

|..+ . . E |

+-----------------+

在本地主機,將公鑰複製到要登入的遠端主機的某使用者的家目錄下的~/.ssh/authorized_keys 檔案中(有特定命令)

ssh-copy-id [-i [identity_file]] [[email protected]]machine

~# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

~# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

[[email protected] ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh '[email protected]'"

and check to make sure that only the key(s) you wanted were added.

[[email protected] ~]# ssh 172.16.1.2 這個時候是不需輸入遠端使用者密碼

Enter passphrase for key '/root/.ssh/id_rsa': 如果每有給私鑰檔案加密,那麼直接可以登入成功

Last login: Tue Jun 28 12:15:15 2016 from 172.16.250.146

之後在遠端伺服器上會在相應使用者家目錄下面的.ssh目錄裡面有一個authorized_keys檔案

aushorized_keys檔案可以存放一到多個遠端公鑰登入的公鑰,一行一個(每行都很長所以在你看來佔據了很多行),所以不要隨便刪除這個檔案

[[email protected] .ssh]# cat authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCpAJFy7QTadK0ghnq63+BZ7Qzm5FLZ4XeVyb1kNwis6GkfyltnX2fzaeR5nLTM6uWHacfahin6Khy9nPX02jDFNMBYGUHg6NXHQLdGihYxv20j1zv4aZRlIPicuqktDM+c2Nda6Yzufun52gQvEzr9HELKMMIkEn6rs4GrY6TO2rG3mV5e8TM++MoV8i+8VZOfKK+I5buEHvBaz+oaQ7Y++WOcuOHir8Nn/wOoOZYrHAa7+qtPKYtEmUmT1eHqnJzdt2lpB0HZNIUuRikSVCCdI6QLmLb7E5xyuZmNB8F6owyenrGmyaerB2whKqoUMHjxCQt8ipr/yOfd/wK5BJV [email protected]

這是在遠端伺服器上的一個本地登入的登入公鑰,因為我這隻設定了一個,所以只有這一個,一個,看起來很多行

----------------------

*********************

----------------------

SSH埠轉發

v什麼是SSH埠轉發?

SSH 會自動加密和解密所有SSH 客戶端與服務端之間的網路資料。但是,SSH 還能夠將其他TCP 埠的網路資料通過SSH 連結來轉發,並且自動提供了相應的加密及解密服務。這一過程也被叫做“隧道”(tunneling),這是因為SSH 為其他TCP 連結提供了一個安全的通道來進行傳輸而得名。例如,Telnet,SMTP,LDAP 這些TCP 應用均能夠從中得益,避免了使用者名稱,密碼以及隱私資訊的明文傳輸。而與此同時,如果工作環境中的防火牆限制了一些網路埠的使用,但是允許SSH 的連線,也能夠通過將TCP 埠轉發來使用SSH 進行通訊

vSSH 埠轉發能夠提供兩大功能:

加密SSH Client 端至SSH Server 端之間的通訊資料

突破防火牆的限制完成一些之前無法建立的TCP 連線。

v本地轉發:

格式:-L localport:host:hostportsshserver

~# ssh –L 9527:server1:23 -fN server2

本地埠:遠端主機:遠端主機埠 -N 後製定跳板機

~#telnet 127.0.0.1 9527

當訪問本機的9527的埠時,被加密後轉發到server2的ssh服務,再解密被轉發到server1:23

dataàlocalhost:9527 àlocalhost:XXXXXàserver2:22àserver2:YYYYY àserver1:23

這裡server2為跳板機


wKiom1d7bqzifbAkAAF3DIgFh_w575.png

v選項:

-f 後臺啟用

-N 不開遠端shell,一般是與-f搭配使用的

-g 啟用閘道器功能

上圖的步驟操作完成之後,會在後臺開啟這個隧道,當我們使用服務的時候就可以使用了:

~# telnet 127.0.0.1 9527 在本地雖然是連線本地的埠,但是剛才我們已經開啟了埠轉發,有資料在這個埠走,就會通過ssh剛建立的隧道,傳輸到跳板機,跳板機再去幫你×××

這樣一個明文的telnet被封裝到ssh協議裡面,變得安全起來

v遠端轉發:

格式:-R sshserverport:host:hostportsshserver

~# ssh–R 4000:server1:23 –N server2

讓跳板機遠端連線8023埠,家庭本地主機偵聽8023埠的訪問,如有訪問,就加密後轉發請求到家庭本機sshd服務,再由跳板機解密後轉發到serve1:23

Dataàlocalhost8023àlocalhos:22àserver2:XXXàserver2YYYàserver1:23

localhost 為家庭本地主機,server2為跳板機


wKiom1d7bsGDfoklAAGFUOK1MFk663.png

注:遠端主機和本機主機兩種埠轉發雖然最後達到的效果一樣,但是賊在資料流向和埠之間的切換有很大不同

SSH動態埠轉發:

v需要配置動態埠的情況

當用firefox訪問internet時,本機的1080埠做為代理伺服器,firefox的訪問請求被轉發到sshserver上,由sshserver替之訪問internet

在本機firefox設定代理proxy:127.0.0.1:1080

格式: ~】# ssh -D 1080 [email protected]

wKioL1d7bsfAlGryAADZYxOoKBs520.png

scp命令: cp命令相似 基於ssh連線完成複製,跨主機加密以後完成資料傳輸

檔案:

遠端為目錄,則複製到目錄中,建立同名檔案

遠端為目錄,且檔案存在,覆蓋

遠端為檔案,則覆蓋

目錄: 複製目錄必須使用-r選項

遠端為目錄,則複製到這個目錄當中,新建一個同名目錄

遠端為檔案,不被允許

遠端為非存在目錄,則複製過去,之後重新命名

存在兩種情形:

PULL scp [options] [[email protected]]host:/path/to/somefile /path/to/somefile

原始檔是遠端的,目標檔案是本地的,用遠端主機上拽檔案過來,要求指定使用者對遠端主機檔案有讀許可權

PUSH scp [options] /path/to/somefile [[email protected]]host:/path/to/somefile

原始檔是本地的,目標檔案是遠端的,把檔案推送動遠端主機,要求指定使用者對遠端主機檔案有寫許可權


rsync 命令 (因為cp只能是每次都要拷貝一次,在增量備份當中顯得低效)

rsync就是通過ssh協議封裝了sync,基於sshrsh服務實現高效率的遠端系統之間複製檔案

使用安全的shll連線作為傳輸方式,比scp更快,只複製不同的檔案

~# rsync -av /etc server1:/tmp複製目錄和目錄下檔案

~# rsync -av /etc/ server1:/tmp 只複製目錄下的檔案 ,所以看好了後面有沒有/

~# rsync -avz --delete /etc server1:/tmp /etc下面檔案發生增刪查改,再執行這條命令,遠端同步主機的/tmp目錄也會發生變化,結合crond可以實現資料同步

-n

模擬複製過程

-v

顯示詳細過程
-r遞迴複製目錄樹

-p

保留許可權

-t

保留時間戳

-g保留組資訊
-o

保留所有者資訊

-l

把符號連結檔案做為符號檔案進行復制
-L將軟連結檔案指向檔案複製

-a

存檔模式,相當於–rlptgoD,但不保留ACL(-A)和SELinux屬性(-X),同步所有

z壓縮

sftp命令: (openssh 自帶的一個元件)

ftp: file transfer protocol 明文傳輸

安全的檔案傳輸機制:

ftps ftp over ssl

sftp ftp over ssh

sftp C/S架構

S:由sshd服務程序管理,是sshd的一個子系統,在centos系統上的openssh上為預設啟動狀態,所以預設不用配置

C:即sftp

連線至遠端主機:

~# ftp [email protected]

ftp> help

ftp> get file_name /tmp 後者的/tmp是本地的目錄,意為下載某檔案到本地/tmp目錄

ftp> COMMAND 加上!表示命令作用於本地主機,而不是遠端主機

[[email protected] mnt]# sftp [email protected]:/boot

Connecting to 172.16.1.1...

[email protected]'s password: 在這裡需要輸入密碼,如果做過ssh公鑰認證,則直接跳過此步驟

Changing to: /boot

sftp> ls

......省略

grub

grub2

sftp> cd / 可以任意切換遠端主機上面的任意位置,只要你遠端登入的使用者有足夠的許可權

sftp> ls

bin boot dev etc home lib lib64 media mnt opt proc root

run sbin srv sys tmp usr var

sshd (伺服器端)

配置目錄/etc/ssh目錄

ssh_host_key ssh_host_key.pub

ssh_host_dsa_key ssh_host_dsa_key.pub

ssh_host_rsa_key ssh_host_rsa_key.pub

6個金鑰檔案是用於實現主機認證

配置檔案: /etc/ssh/sshd_config 操作前請備份

#空格開頭的為純註釋

格式: 配置指令

port

埠,預設位22

AddressFamily

地址家族,監聽ipv4或者ipv6

SyslogFacility系統日誌

LoginGraceTime

使用者登入的等待時期,最多2分鐘,2分鐘不登入,自動斷開連線

MaxAuthTries

輸入密碼錯誤最多幾次,預設6,但6要除以2,也就是3次,2還是21就是1,4還是2降低辭職避免暴力破解

ListenAddress

指定監聽的ip,預設為0.0.0.0,監聽所有主機

Protocol

定義協議版本,預設為21.2版本)

LogLevel

日誌級別

PermitRootLogin

是否允許root使用者直接遠端登入;可以給關閉,之後用普通使用者遠端登入,之後su進來,之後使用root使用者

MaxSessions

最大會話數量,預設10,最多可以有10個終端同時遠端登

RSAAuthentication預設為yes ,是否支援rsa的認證機制,指的基於公鑰的使用者認證,預設支援
PubkeyAuthentication

預設為yes,支援基於公鑰的認證,它和上面的指令需要同時開啟,才能生效

AuthorizedKeysFile

基於遠端基於公鑰認證的公鑰存放的檔案路徑,預設~/.ssh/authorized_keys

RhostsRSAAuthentication預設為no,與遠端主機連線必須做RSA認證,一般我們遠端連線主機,如果以前從沒有通訊過,遠端主機會先發送一個它的一個金鑰(它的公鑰)給主機,我們需要通過yes後同意接受。如果把值改為yes,如果本地主機事先沒有這個金鑰,就無法建立連線,因此非常安全。我們可以先建立連線,等本地known_hosts檔案記錄了遠端主機的公鑰之後,我們再開啟這項功能。也可以把這個公鑰放到加密狗上面隨身攜帶,這項功能安全,但是也意為這麻煩,祕鑰沒了你就要去機房了

PasswordAuthentication

預設為yes,是否允許基於口令遠端登入,如果開啟基於金鑰認證,則建議關閉

UsePAM

預設為yes,基於PAM模組認證,系統認證功能必然會用到的機制

AcceptEnv

預設為yes,基於PAM模組認證,系統認證功能必然會用到的機制
X11Forwarding預設yes,是否允許X11協議做轉發
PrintMotd預設為yes,是否在使用者登入時列印Motd資訊, 對應/etc/motd檔案

PrintLastLog

預設為yes,是否顯示使用者上一次在幾點幾分通過什麼終端登入,這樣會洩露你的登入資訊,建議關閉,反正你也知道你上次大概什麼時候登入的,讓別人看到反而不好

UseDNS

預設為yes,是不是每次登入的時候,都基於DNS反解對方的地址到主機名,建議改為no,因為有的時候因為網路問題,你可能會卡在遠端登入那一會才能登進系統
Subsystem子系統,運用程式為/usr/libexec/openssh/sftp-server

StrictModes

是否檢查家目錄相關檔案許可權是否正確,ssh遠端時使用的檔案
GatewayPort

支援埠轉發

ClientAliveInterval

0永遠不動,使用者連線上,多長時間不動斷開連線

ClientAliveCountMax

會話最大連線數

PermitTunnel

允許隧道,涉及到埠準發,可以開啟這個選項,如果你要設定的話

Banner

指定自定義/etc/ssh.txt檔案,之後使用者ssh遠端登入的時候會列印檔案裡面的內容

以上是配置檔案中常用的,還有寫沒有寫在配置檔案中的可以man 檔案手冊

~# man sshd_config 檢視服務配置文件的幫助文件

~# man ssh_config

~# man sshd 檢視sshd怎麼使用

修改完配置文件,要想生效,需要reload一下

~# service sshd reload

6版本上: 服務指令碼 --> /etc/rc.d/init.d/sshd

7版本上:Systemd Unit File ---> /usr/lib/systemd/system/sshd.service

~# systemctl reload sshd

限制可遠端登入的使用者

~# vim /etc/ssh/sshd_config

寫入

AllowUsers user1 user2 user3空格隔開

Allowgroups group1

這是白名單

DenyUsers user1 user2

DenyGroups group1

這是黑名單

黑名單和白名單隻能使用一個,如果同時使用那就拒絕大於允許

補充:如果修改了sshd的埠,同時你開啟了防火牆和selinux的話,首先要調整防火牆策略,改個埠,刪了以前那條就行

對於selinux

~ # tail /var/log/messages 檢視selinux的日誌

~ # sealert -l 15d342-54ef-8982dfc6e0 這是根據日誌提醒操作的

~ # semanage port -a -t ssh_port_t -p tcp 20000 這是其上命令建議的操作

~ # semange port -l | grep ssh 檢視是否新增埠成功


ssh 協議的另一個實現:dropbear

輕量化實現,多使用者嵌入式方案當中,使用機制和openssh大致相同 (在無線路由器上就是這樣允許遠端登入的)

~# yum install dropbear -y (epel源裡面有)

配置目錄:/etc/dropbear

服務端程式:/usr/sbin/dropbear

客戶端程式:/usr/bin/dbclient

dropbear生成主機祕鑰:/usr/bin/dropbearkey

~# dropbearkey -t rsa -s 2048 -f /etc/dropbear/dropbear_rsa_host_key

~# dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key (因為dss只支援1024位,所以不用指定)

~# dropbearkey -t ecdsa -s 521 -f /etc/dropbear/dropbear_ecdsa_host_key(橢圓曲線,最長支援521位)

~# dropbear -p 20000 -E -F

-E 為把標準輸出從執行日誌改為錯誤輸出,這樣資訊就會顯示在終端上

-F 前臺執行,測試的時候使用這兩項,平時開啟,不用

-p 指定開啟服務使用的埠,預設是22,但是這個和ssh衝突,測試需要修改,或者停sshd

另一臺主機登入測試:

~# ssh -p 20000 172.16.1.1

~# dbclient-p 20000 172.16.1.1

如果測試都沒有問題,可以開啟服務了systectl命令開啟此服務,但是因為不想使用預設埠22,我們需要

~# cat /usr/lib/systemd/system/dropbear.service

EnvironmentFile=-/etc/sysconfig/dropbear

ExecStart=/usr/sbin/dropbear -E -F $OPTIONS

這兩行的意思就是開啟的時候,會呼叫/etc/sysconfig/dropbear檔案裡面的OPTIONS引數

~# vim /etc/sysconfig/dropbear 檔案為空

寫入

OPTIONS=-p 20000

~# systectl start dropber.service

~# ss -tnl顯示20000埠是否監聽

這裡演示一下我們測試dropbear能夠服務可以使用

首先我們要在服務端先建立好鑰匙

[[email protected] xinetd.d]# dropbearkey -t rsa -s 2048 -f /etc/dropbear/dropbear_rsa_host_key

Generating key, this may take a while...

Public key portion is:

ssh-rsa ....中間祕鑰省略..... [email protected]

Fingerprint: md5 90:6e:5e:ef:d0:1b:02:cb:4b:f5:18:3e:8b:6d:57:26

在這個時候我們就可以開啟服務,遠端登入可以通過rsa加密演算法,但是為了更好的支援遠端登入可以開啟更多登入;

這個時候開啟服務的話是可以用的,但是會報錯,所另外兩個演算法的檔案沒有找見,但是遠端登入是可以成功的

[[email protected] xinetd.d]# dropbear -p 20000 -E -F

[4518] Jun 30 10:47:36 Failed loading /etc/dropbear/dropbear_dss_host_key

[4518] Jun 30 10:47:36 Failed loading /etc/dropbear/dropbear_ecdsa_host_key

[4518] Jun 30 10:47:36 Not backgrounding

當然為了安全我們只是用一個遠端登入的方式也是可以的

所以下面的步驟是可以省略的

[[email protected] xinetd.d]# dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key

Generating key, this may take a while...

Public key portion is:

ssh-dss AAAAB3NzaC1kc3MAAACBANr0SlgJdM6AxlJ/

Fingerprint: md5 30:69:94:3d:e6:14:2d:86:9e:9b:ec:a0:93:36:f2:37

[[email protected] xinetd.d]# dropbearkey -t ecdsa -s 521 -f /etc/dropbear/dropbear_ecdsa_host_key

不管是開啟一個加密演算法,還是3個都開啟,我們這個時候可以開啟dropbear服務了,當然建議暫時關閉防火牆

[[email protected] xinetd.d]# dropbear -p 20000 -E -F

[4523] Jun 30 10:49:45 Not backgrounding

在本地客戶端試圖連線遠端服務

[[email protected] ssh]# ssh -p 20000 172.16.1.1

The authenticity of host '[172.16.1.1]:20000 ([172.16.1.1]:20000)' can't be established.

RSA key fingerprint is 90:6e:5e:ef:d0:1b:02:cb:4b:f5:18:3e:8b:6d:57:26.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '[172.16.1.1]:20000' (RSA) to the list of known hosts.

[email protected]'s password:

或者通過dbclint連線

[[email protected] ssh]# dbclient -p 20000 172.16.1.1

Host '172.16.1.1' is not in the trusted hosts file.

(ssh-rsa fingerprint md5 90:6e:5e:ef:d0:1b:02:cb:4b:f5:18:3e:8b:6d:57:26)

Do you want to continue connecting? (y/n) y

[email protected]'s password:

我們可以檢視ip,是否已經遠端登入成功,我這裡本地為6,遠端為7,能使用ip addr就說明ok

[[email protected] ~]# ip addr show eno16777736 | grep 'inet\b'

inet 172.16.1.1/16 brd 172.16.255.255 scope global eno16777736

我們在測試的 伺服器端,因為我們開啟了測試的前臺顯示,和輸出為錯誤輸出到終端,我們可以看到連線狀況

[[email protected] xinetd.d]# dropbear -p 20000 -E -F

[4523] Jun 30 10:49:45 Not backgrounding

[4550] Jun 30 10:50:26 Child connection from 172.16.1.2:59012

[4550] Jun 30 10:51:00 Password auth succeeded for 'root' from 172.16.1.2:59012

當本地客戶端斷開連線的時候就會顯示

[4583] Jun 30 11:07:04 Exit (root): Disconnect received


編譯安裝dropbear

v2、ftp://172.16.0.1/pub/Sources/sources/dropbear/dropbear-2013.58.tar.bz2 (馬哥內網伺服器)

v3、tar xf dropbear-2013.58.tar.bz2,

v4、less INSTALL 或者cat INSTALL 檢視安裝幫助資訊

v5、./configure

v6、make PROGRAMS='dropbear scp dropbearkey dbclient' 這裡注意一下,如果有sshscp,這裡的的scp就別安裝了

v7、make PROGRAMS='dropbear scp dropbearkey dbclient' install

v8、ls /usr/local/sbin/ /usr/local/bin/

v9、/usr/local/sbin/dropbear -h

v10、mkdir /etc/dropbear

v11、dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048

v12、dropbearkey -t dss -f /etc/dropbear/dropbear_dsa_host_key

v13、dropbear -p :2222 -F -E ; ss –tnl #前臺執行,資訊終端錯誤輸出(測試用,正常啟用的話,不用加-F-E

v14、ssh -p 2222 [email protected]

v15、dropbear -p :2222 #後臺執行 (這是後臺執行,測試成功就要執行這個,或者直接執行,不測試)

v16、dbclient -p 2222 [email protected]


轉載於:https://blog.51cto.com/941012521/1796025