1. 程式人生 > >Linux運維學習筆記之十:SSH服務

Linux運維學習筆記之十:SSH服務

第十八章 SSH服務

一、SSH服務基礎

1、簡介

SSH 為 Secure Shell 的縮寫,由 IETF 的網路工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 SSH 協議可以有效防止遠端管理過程中的資訊洩露問題。SSH最初是UNIX系統上的一個程式,後來又迅速擴充套件到其他操作平臺。SSH在正確使用時可彌補網路中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺-包括HP-UX、LinuxAIXSolarisDigital UNIXIrix

,以及其他平臺,都可執行SSH。

2、SSH服務提供的功能
(1)提供類似telnet的遠端聯機伺服器的服務,即SSH服務。
(2)提供類似FTP服務的sftp-server,藉助SSH協議來傳輸資料,提供更安全的SFTP服務。
(3)提供遠端安全拷貝命令SCP。
3、SSH服務結構
(1)服務端:OpenSSH和OpenSSL
(2)客戶端:

Linux:SSH

Windows:SecureCRT、Putty、xshell

(3)守護程序:sshd
(4)配置檔案:/etc/ssh/sshd_config

a、檢視系統支援的協議

grep Protocol /etc/ssh/sshd_config

CentOS5.x: Protocol 2, 1

CentOS6.x: Protocol 2

b、檢視臨時公鑰ServerKeyBits長度

grep ServerKeyBits /etc/ssh/sshd_config

#ServerKeyBits 1024  (CentOS5.x為 768)

c、說明:sshd_config是配置服務端,ssh_config是配置客戶端

vi /etc/ssh/sshd_config

  :set nu  #vi的功能,顯示行號

   Port 28888  #13行

   PermitRootLogin no #42行,禁止root使用者ssh遠端登入

   PermitEmptyPasswords no  #65行,禁止空密碼登入

   GSSAPIAuthentication no  #為防止GSSAPI導致SSH連線變慢

   UseDNS no  #122行,禁止使用DNS

(5)協議版本:

a、1.x和2.x

b、2.x的客戶端不能連線到1.x的服務程式上。

4、ssh服務認證型別
(1)基於口令的安全驗證

a、連線格式:

(i)ssh -p埠號 使用者名稱@IP  #預設22可不寫

ssh -p28888 [email protected] #需輸入192.168.58.238的密碼

(ii)ssh -p埠號 使用者名稱@IPcommand   #此方式執行命令後,會退回當前機器

ssh [email protected] /sbin/ifconfig   #由於環境變數不識別,所以需全路徑

b、檢視家目錄下的.ssh中是否存在know_hosts檔案

ll ~/.ssh/know*

-rw-r--r-- 1 root root 394 Feb 14 19:47 known_hosts

c、檢視know_hosts檔案內容

cat known_hosts

192.168.58.238 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvzhqkn7q/+dqo+LVbFCKsnUYG9WQudjue

Yl8NY3neiDaxxnuf84faY73NEuF0WtOR0c5N14aPQQhMbIPinFbRuqFbZBQspxbR+nd/j/df43U2P+xCIk3rxC7+7SpHdau/5a/yUtsAYKMUmp+5Jx4EWPasy1Ww+OvwmMBOXFFE5Mf1oNg/Z+lQZlM7n9bQn2iEXu5BVjaY8Z1mo7xRM5ClF/nZ3pa8S+HpQRQ/gXRhvYLp/DRSvbiz2Hc/zkXRcwd+uhOZXsmVagOIgIJ3qcsbQHIZfFBU9jaiDIHqGc4LmPxRlr/RhaH3vdULjpbjAVE1EMPDX4/i1GncLuLtT/h8Q==

(2)基於金鑰的安全驗證
5、小結
(1)ssh是安全的加密協議,用於遠端連線伺服器
(2)預設埠是22,安全協議版本是ssh2
(3)服務端主要包含2個服務功能:ssh遠端連線和SFTP服務
(4)客戶端主要包含2個服務功能:ssh連線命令和scp遠端拷貝命令

二、SCP命令基礎

1、作用:遠端拷貝命令
2、格式:
(1)格式一:推的方式push,將檔案傳送到遠端伺服器

scp -P埠號 本地要拷貝的檔案 選程機的使用者名稱@IP:目錄  #預設埠22可以不寫

scp test.txt [email protected]:/tmp

(2)格式二:拉的方式pull,將檔案從遠端伺服器拷貝回來

scp -P埠號 遠端機的使用者名稱@IP:目錄或檔案  本地機的目錄

scp [email protected]:/tmp/test.txt /wddg

3、引數

-P:指定埠號

-r:表示要拷貝目錄

-p:表示在拷貝前後保持檔案或目錄屬性

4、小結:

scp是加密的遠端拷貝,可以把資料從一臺伺服器推送到另一臺伺服器,也可以從其它伺服器把資料拉回到本地伺服器,但每次都是全量拷貝(rsync是增量拷貝),因此效率不高

三、SFTP服務基礎

1、格式

sftp -oPort=22 [email protected]

2、操作命令

操作遠端主機與普通Linux操作命令一樣:cd、pwd等

操作本地主機要在所有命令前加上l:lcd、lpwd等

上傳檔案到遠端主機命令:put 

put /etc/hosts /tmp

下載遠端主機檔案到本地命令:get

get /etc/hosts /tmp

3、演示

sftp -oPort=22 [email protected]

Connecting to 192.168.58.238...

[email protected]'s password:

sftp> pwd

Remote working directory: /root

sftp> cd /wddg

sftp> pwd

Remote working directory: /wddg

sftp> ls -l

-rw-r--r--    1 root     root           15 Feb 14 22:49 server.txt

sftp> lpwd

Local working directory: /tmp

sftp> lls -l

-rw-r--r--  1 root root   17 Feb 14 22:53 client.txt

drwx------  2 gdm  gdm 4096 Feb 14 18:53 orbit-gdm

sftp> put client.txt

Uploading client.txt to/wddg/client.txt client.txt  100% 17  0.0KB/s 00:00

sftp> get server.txt

Fetching /wddg/server.txt to server.txt/wddg/server.txt 100%  15 0.0KB/s00:00   

sftp> ls -l

-rw-r--r--    1 root    root           17 Feb 14 22:51client.txt

-rw-r--r--    1 root    root           15 Feb 14 22:49server.txt

sftp> lls -l

-rw-r--r--  1 root root  17 Feb 14 22:53 client.txt

drwx------  2 gdm gdm  4096 Feb 14 18:53 orbit-gdm

-rw-r--r--  1 root root  15 Feb 14 22:55 server.txt

4、小結:

(1)sftp -oPort=22 [email protected]

(2)上傳put 加客戶端本地路徑

(3)下載get 服務端內容,下載到本地的當前目錄

(4)put和get也可以指定上傳下載目錄,

(5)put和get只能針對檔案進行操作,不能是目錄

(6)檢視配置引數

egrep -v "^#|^$"/etc/ssh/sshd_config

四、SSH應用之一:批量分發

1、演示環境

主機名

IP

用途

作業系統

linuxDelivery

192.168.58.238

中心分發伺服器

CentOS6.8

StudyLinux

192.168.58.85

接收節點伺服器

CentOS6.8

LS-B16175

192.168.16.75

接收節點伺服器

RedHat6.4

2、需求分析

要求所有伺服器在同一使用者下,實現從中心分發伺服器將本地資料分發到接收節點伺服器,在分發過程中不需要各接收節點伺服器提示密碼驗證,除了分發功能,還需要可以批量檢視客戶機上的CPU、LOAD、MEM以及系統版本等使用資訊。

3、增加分發使用者:在所有機器上設定同一使用者oldboy

在SecureCRT的互動介面中操作:

(1)刪除所有伺服器上的oldboy使用者,如查有組沒有刪除需手動刪除

userdel -rf oldboy

(2)新增使用者

useradd oldboy

(3)檢查使用者

id oldboy

(4)在每臺伺服器上檢視執行情況
(5)統一設定oldboy密碼

echo 123456 | passwd --stdin oldboy

4、建立金鑰對,實現免密登陸
(1)將所有伺服器切換到oldboy使用者下

su - oldboy

(2)檢查是否切換成功

whoami

(3)金鑰型別

dsa:數字簽名演算法.即Digital Signature Algorithm

rsa:一種加密演算法,即可用於加密,也可用於資料簽名來實現認證

ssh-keygen -t dsa:建立dsa型別金鑰.-t引數是指建立金鑰的型別

ssh-keygen -t rsa:建立rsa型別金鑰

(4)在中心分發伺服器上建立金鑰(實際上可在任何一臺機器上建立都行)

ssh-keygen -t dsa

Generatingpublic/private dsa key pair.

Enter file inwhich to save the key (/home/oldboy/.ssh/id_dsa):  #直接回車,預設就行

Createddirectory '/home/oldboy/.ssh'.

Enter passphrase(empty for no passphrase):                       #直接回車,不用輸入密碼

Enter samepassphrase again:

Youridentification has been saved in /home/oldboy/.ssh/id_dsa.

Your public keyhas been saved in /home/oldboy/.ssh/id_dsa.pub.

The keyfingerprint is:

91:8e:8e:1f:f2:ea:d8:34:73:8f:7b:65:1c:e3:69:[email protected]

The key'srandomart image is:

+--[ DSA1024]----+

|                 |

|         .      |

|        o       |

|       o .o     |

|      . S+ +    |

|     o  .B      |

|    * + =       |

|   + B +E       |

|  ..+.=o.       |

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

(5)檢查生成的金鑰,以.pub結尾的是公鑰

ll  ~/.ssh 

-rw------- 1 oldboy oldboy 668 Feb 1614:35 id_dsa        #私鑰,許可權小600

-rw-r--r-- 1 oldboy oldboy 610 Feb 16 14:35id_dsa.pub   #公鑰,許可權較大644

ll -d .ssh

drwx------ 2 oldboy oldboy 4096 Feb16 14:35 .ssh  #.ssh目錄的許可權是700

(6)分發公鑰

a、格式

ssh-copy-id -i 公鑰檔案  接收伺服器使用者@伺服器    #該指令碼命令只能發公鑰

ssh-copy-id -i 公鑰檔案  "-p埠號接收伺服器使用者@伺服器"    #非預設埠特殊寫法,要用雙引號

b、操作

ssh-copy-id -i .ssh/id_dsa.pub [email protected]

The authenticity of host '192.168.58.85 (192.168.58.85)' can't beestablished.

RSA key fingerprint isde:91:c6:84:6e:40:8c:ec:89:7b:da:58:11:eb:43:4f.

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

Warning: Permanently added '192.168.58.85' (RSA) to the list ofknown hosts.

[email protected]'s password:   #由於是第一次連線該伺服器,需輸入密碼123456

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

  .ssh/authorized_keys  #成功的標誌

to make sure we haven't added extra keys that you weren't expecting.

[[email protected] ~]$ ssh-copy-id -i .ssh/id_dsa.pub [email protected]

The authenticity of host '192.168.16.75 (192.168.16.75)' can't beestablished.

RSA key fingerprint is 04:ed:29:64:cd:f9:c7:3a:4a:50:a8:82:c5:05:77:8c.

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

Warning: Permanently added '192.168.16.75' (RSA) to the list ofknown hosts.

[email protected]'s password:   #由於是第一次連線該伺服器,需輸入密碼123456

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

  .ssh/authorized_keys   #成功

to make sure we haven't added extra keys that you weren't expecting.

c、檢視接收節點伺服器接收的檔案(已自動改名由id_dsa.pub改為authorized_keys,許可權改為是600

ll .ssh

-rw------- 1 oldboy oldboy610 Feb 16 14:41 authorized_keys #許可權是600

d、測試

ssh [email protected]  #成功,免密

ssh [email protected]   #成功,免密

e、ssh-copy-id指令碼原理

就是把~/.ssh/id_dsa.pub檔案複製到指定的接收節點伺服器對應使用者的家目錄下的.ssh目錄(提前建立,許可權為700)下,並將檔名改為authorized_keys,設定許可權為600

grep authorized_keys /etc/ssh/sshd_config

#AuthorizedKeysFile     .ssh/authorized_keys

which ssh-copy-id

/usr/bin/ssh-copy-id

cat /usr/bin/ssh-copy-id #核心語名在第41行:

{ eval "$GET_ID" ; } | ssh $1 "exec sh -c 'umask 077;test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys &&(test -x /sbin/restorecon && /sbin/restorecon ~/.ssh~/.ssh/authorized_keys >/dev/null 2>&1 || true)'" || exit 1

5、批量分發
(1)編寫分發指令碼

vi fenfa.sh

if [ $# -ne 1 ]                                  # $#表示引數的個數,-ne表示不等於

   then

       echo "/bin/sh $0arg1"

       exit 1

fi

for n in '192.168.16.75' '192.168.58.85'

do

   scp $1 [email protected]$n:/wddg/share

done

(2)測試

sh fenfa.sh a.txt

(3)檢視是否成功

ll /wddg/share

-rw-rw-r-- 1 oldboy oldboy 8 Feb 17 13:29 a.txt

(4)完善分發指令碼

vi fenfa2.sh

#!/bin/sh

file="$1"

remotedir="$2"

. /etc/init.d/functions  #系統內建函式庫

if [ $# -ne 2 ]

   then

       echo "USAGE:/bin/sh $0 arg1 arg2"

       exit 1

fi

for n in '192.168.16.75' '192.168.58.85'

do

   scp [email protected]$n:$remotedir >/dev/null 2>&1

   if [ $? –eq 0 ]  # $?表示上一函式是否正確執行,0表示正常用執行

      then

          action "scp$file to $remotedir is ok" /bin/true #action表示呼叫系統函式庫

   else

          action "scp$file to $remotedir is fail" /bin/false

fi

done

(5)測試

sh fenfa2.sh a.txt /home/oldboy/

如果失敗,則可 –x除錯

sh –x fenfa2.sh a.txt /home/oldboy/

五、SSH應用之二:批量管理

1、編寫管理指令碼

vi view.sh

#!/bin/sh

if [ $# -ne 1 ]

        then

                echo"/bin/sh $0 arg1"

                exit 1

fi

for n in '192.168.1.5'

do

        ssh [email protected]$n $1

done

2、測試(引數中如果有空格必須加雙引號)

sh view.sh "/sbin/ifconfig eth0 | sed -rn 's#^.*addr:(.*)  Bcas.*#\1#gp'"

192.168.1.5

sh view.sh /usr/bin/free

             total       used       free    shared    buffers     cached

Mem:       2071068      71308   1999760          0      14824     27088

六、SSH應用之三:批量分發加強

1、ssh服務通過sudo 提權拷貝檔案實現分發(同步使用者對部分目錄無操作許可權)
(1)思路

先將要拷貝的檔案分發到指定的接收節點伺服器,再通過配置了sudo提權的cp命令,將相檔案拷貝指定目錄。

(2)設定/etc/sudoers(通過SecureCRT在root使用者下更新所有節點伺服器的/etc/sudoers檔案)

visudo

oldboy ALL=(ALL)   NOPASSWD:/bin/cp

(3)檢查語法

visudo –c

(4)測試

visudo cp hosts /etc/

(5)遠端執行sudo命令

由於安全方面的限制,ssh服務一般不讓遠端執行sudo命令。如查非要遠端執行sudo,有以下功2種方法:

a、使用-t引數(建議使用)

ssh –t hostname sudo <cmd>

b、修改sshd_config配置檔案(有安全隱患)

將檔案中的Defaults requiretty這行註釋,但會造成安全隱患,建議用第一種,加-t引數

c、不加-t執行,會報錯

ssh [email protected] sudo/bin/cp ~/hosts /etc/hosts

d、報錯

sudo: sorry, you must have a tty to run sudo

f、加-t執行,成功

ssh –t [email protected]sudo /bin/cp ~/hosts /etc/hosts

(6)優化分發指令碼

vi fenfa3.sh

#!/bin/sh

file="$1"

remotedir="$2"

. /etc/init.d/functions  #系統內建函式庫

if [ $# -ne 2 ]

   then

       echo "USAGE:/bin/sh $0 arg1 arg2"

       exit 1

fi

for n in '192.168.16.75' '192.168.58.85'

do

scp [email protected]$n:~ >/dev/null 2>&1 &&\  

ssh –t [email protected] sudo /bin/cp ~/$file $remotedir&>/dev/null

   if [ $? –eq 0 ]  # $?表示上一函式是否正確執行,0表示正常用執行

      then

          action "scp$file to $remotedir is ok" /bin/true #action表示呼叫系統函式庫

   else

          action "scp$file to $remotedir is fail" /bin/false

fi

done

說明:

&&\中的&&表示前面的命令執行成功後才會執行下一條命令。\表示換行.也就是把這2條命令當成一行來執行。

2、ssh服務通過加了特殊許可權的rsync命令拷貝檔案實現分發(同步使用者對部分目錄無操作許可權)
(1)對rsync命令加上s許可權

which rsync

chmod 4755 /usr/bin/rsync

(2)檢查

ll /usr/bin/rsync

(3)修改分發指令碼

vi fenfa3.sh

#!/bin/sh

file="$1"

remotedir="$2"

. /etc/init.d/functions  #系統內建函式庫

if [ $# -ne 2 ]

   then

       echo "USAGE:/bin/sh $0 arg1 arg2"

       exit 1

fi

for n in '192.168.16.75' '192.168.58.85'

do

scp [email protected]$n:~ >/dev/null 2>&1 &&\  

ssh –t [email protected] /usr/bin/rsync ~/$file$remotedir &>/dev/null

   if [ $? –eq 0 ]  # $?表示上一函式是否正確執行,0表示正常用執行

      then

          action "scp$file to $remotedir is ok" /bin/true #action表示呼叫系統函式庫

   else

          action "scp$file to $remotedir is fail" /bin/false

fi

done

七、小結

1、免密碼登陸認證是單向,如果希望可以互相免密認證,需要兩邊都進行免密操作
2、免密登陸認證是基於使用者的,最好不要跨不同使用者
3、SSH連線慢時,需要設定/etc/ssh/sshd_config檔案中的UseDNS 和GSSAPIAuthentication為no

  vi /etc/ssh/sshd_config

  :set nu  #vi的功能,顯示行號

   Port 28888  #13行

   PermitRootLogin no #42行,禁止root使用者ssh遠端登入

   PermitEmptyPasswords no  #65行,禁止空密碼登入

   GSSAPIAuthenticationno  #為防止GSSAPI導致SSH連線變慢

   UseDNSno  #122行,禁止使用DNS

也可以通過ssh -v [email protected]進行除錯

4、批量分發1000臺初始都需要輸入一次密碼,並且第一次連線要確認(可發通過expect自動應答)
5、對於需要將檔案分發到沒有操作許可權的目錄和檔案時,有3種方法

a、利用root做ssh key驗證

優點:簡單、易用

缺點:安全差,同時無法禁止root遠端連線,一旦分發伺服器的root被破,則全部伺服器被破

應用:有80%的企業

b、利用sudo提權

優點:安全

缺點:配置複雜

c、利用特殊許可權位,原理同sudo提權(拓展思路)

優點:相對安全

缺點:複雜,安全性一般,任何人都可以處理帶有suid許可權的命令

d、建議

追求簡單,選1,考慮安全,選2,不建立選3

6、統一分發的重要安全思想

不管用什麼方法,一定要管理好中心分發伺服器。因為它的許可權很大,很重要。

a、一定要取消中心分發伺服器的外網IP

b、中心分發伺服器開啟防火牆,禁止ssh對外使用者登陸。

c、僅授權某一臺後端無外網的伺服器(跳板機A)訪問中心分發伺服器。並且該伺服器也沒有外網IP,只能通過VPN登陸。

d、中心分發伺服器的跳板機A只能由跳板機B需要通過VPN連線.

e、管理時,管理員連線到跳板機B,再通過VPN連線到跳板機A, 再由跳板機訪問中心分發伺服器,進行相應分發操作.

八、企業級生產場景批量管理的自動化管理方案

1、最簡單最常用的是ssh key,功能也最強大。一般中小型企事業會用,規模在50-100臺發下。

2、sina cfengine較早的批量管理工具,現在基本沒有企業用了。

3、門戶級別比較流行的,puppet批量管理工具,複雜、笨重。

4、saltstack批量管理工具,簡單、功能強大(配置複雜)

5、http + cron :將要分發的檔案放在http上,由伺服器定時下載.

相關推薦

Linux學習筆記SSH服務

第十八章 SSH服務 一、SSH服務基礎 1、簡介 SSH 為 Secure Shell 的縮寫,由 IETF 的網路工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠端登入會話和其他

Linux學習筆記LNMP的WEB架構深度優化效能優化

第二十七章LNMP的WEB架構深度優化之效能優化 一、Nginx效能優化-配置Nginx的worker程序個數 1、worker的作用和初始設定 worker_processes就是worker角色的程序個數,也就是nginx啟動後有多少個worker處理http請求。ma

Linux學習筆記常用命令2

linux 運維 筆記71、passwd:修改用戶密碼語法passwd [參數]username選項-k --keep-tokens :保留即將過期的用戶在期滿後仍能使用-l --lock :鎖定用戶無權更改其密碼,只能root才能操作-u --unlock :解除鎖定-S --status :查看用戶狀

Linux學習筆記監控利器Nagios實戰

第四十二章 監控利器Nagios實戰一、Nagios介紹1、哪些內容需要監控呢?(1)本地資源a、負載:uptime;b、CPU:top,sar,cpu溫度;c、磁碟:df;d、記憶體:free;e、IO:iostat;f、RAIDg、passwd檔案的變化(本地所有檔案指紋

Linux學習筆記 防火牆實戰

第四十三章 防火牆實戰一、Iptables基礎概念1、一般使用情況(1)seLinux關閉(生產系統也是關閉的)(2)使用硬體ids(入侵檢測)(3)iptables在生產環境中一般是內閘道器閉,外網開啟。在大併發的情況下,不能開iptables,影響效能,這時可以使用硬體防

Linux學習筆記之一的原則和學習方法

linux 運維 筆記 一直在用Linux,但從未系統學習過,從1月1日開始學習到7月16日結束,近七個月學習,讓自已對Linux有了新的認識,老男孩老師的課真的不錯,實戰性很強。由於只能中午和晚上10點以後才有時間,所以所有的實驗是在不同電腦上完成的,文中IP可能有點問題,但應該不會影響實驗。同時,為了保證

Linux學習筆記-定時任務知識總結

man 學習筆記 標準 null 流程 borde 知識 定時腳本 top 定時任務編輯規範流程: 重要知識點: 切記用全路徑編寫定時腳本、定時任務 大部分在 crontab 計劃任務中都會年到未尾帶 >/dev/null 2>&1,是什麽意思呢

Linux學習筆記-網絡技術知識體系總結

OS image 分享 ron class linu 知識體系 pos bsp 傳統網絡知識體系 未來網絡SND模型架構 Linux運維學習筆記-網絡技術知識體系總結

Linux學習筆記-目錄知識點總結

沒有權限 sage lsp ada .com ifcfg-eth post 加載 內存信息 目錄知識點總結: Note: 1.創建一個/server/scripts目錄,用於存放腳本(命令:mkdir -p /server/scripts) 2.安裝軟件時,安裝路徑

兄弟連IT的Linux學習筆記

開發 而且 時間 tor linux 真實機 生活 系統安裝 rec 最新經典linux運維兄弟連Linux運維學習筆記、、、 --------------- 全程1.5倍播放、加油我一定可以學完Linux----------------------Unix與Linux

Redis學習筆記Redis用作訊息佇列

package org.yamikaze.redis.messsage.subscribe; import org.yamikaze.redis.test.MyJedisFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis

Linux學習筆記----DHCP 分配IP地址

一、什麼是DHCP?DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路管理員作為對所有計算機作中央管

Linux學習數組

數組 2107/9/15 周五 今天我給大家分享一波數組,那麽數組是什麽呢? 數組是存儲多個元素的連續的內存空間,相當於多個變量的集合,數組包括數組名和索引,當我們新建了一個數組之後就可以使用其中的索引來搞一波事情,既然有索引有編號,數組又是連續的,那麽無序的數組就叫做稀疏數組,而且我

Linux學習cobbler自動安裝系統

cobbler 自動 本篇博文是使用cobbler的小工具來實現我們的系統的自動安裝,說這個工具小吧,其實它其中包含了很多的工具,當然了我們需要使用epel源來實現我們的安裝,epel的源的修改地址在/etc/yum.repos.d/下,我們可以把自己想配置的epel源或者本地倉庫的修改文件放在這下面,

linux學習二進制格式安裝

二進制安裝 mysql 本周給大家帶來的是關於mysql的二進制格式的安裝,我們對於mysql的安裝一般有兩種方式,一是通過yum安裝,二是通過二進制格式的安裝,第一種方法yum安裝的方式非常簡單,如下: Centos6:yum install mysql-server Centos7:y

Linux學習LAMP搭建個人博客網站

個人博客、lamp 從開始學習Linux,我就知道搭建博客,也很好奇怎麽搭建的博客,今天終於學到了這個知識點,網上的很多的教程感覺都是含糊其辭,對於基礎稍微有點薄弱的,根本實現不出來,而今天我就來篇基礎教程,基於LAMP來搭建,L:Linux,A:apache,M,mysql或mariadb,P:php

Linux學習多用戶SAMBA掛載

samba SAMBA是一種局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。 SAMBA共享默認只支持同時用一個用戶掛載SMB共享,CentOS

Linux學習keepalived實現高可用集群

keepalived 高可用 lvs 集群技術是一種較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,其任務調度則是集群系統中的核心技術。高可用高可用集群,簡單的說,集群就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。 高可用

Linux學習數據庫備份與恢復

數據庫備份與恢復 linux xtrabackup 今天給大家帶來的是關於數據庫備份與恢復的教程,當我們手賤或者不知道什麽原因導致數據庫的崩潰,甚至刪除數據庫時怎麽辦,總不能跑路吧?所以我們做好日常的備份和相關的災後重建很有必要。 那麽備份都有什麽方式,方法呢?一,文件備份,就是很笨

Linux學習筆記————Linux常用服務器構建ftp服務

download pytho ftp服務 nsf png tp服務器 圖片 拷貝文件 span 一、ftp服務器介紹 FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。 用於Internet上的控制文件的雙向傳輸。