加密的應用

加密的應用

一、實現對稱加密

1、openssl enc

man enc

算法:3des, aes, blowfish, twofish

加密操作:openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher

解密操作:openssl enc  -d -des3 -a  -salt -in testfile.cipher  -out testfile

2、gpg

 對稱加密file 文件

gpg -c file

ls file.gpg

 在另一臺主機上解密file

gpg -o file -d file.gpg

使用gpg實現公鑰加密

1. 在 在hostB 主機上用公鑰加密,在hostA 主機上解密

2. 在 在hostA 主機上生成公鑰/ 私鑰對

gpg –gen-key

3. 在hostA 主機上查看公鑰

gpg –list-keys            此時的公鑰文件為pubring.gpg,但是其為二進制文件。

1.jpg

4 .在 在hostA 主機上導出公鑰到babyhanggege.pubkey,如上圖。

gpg -a –export -o babyhanggege.pubkey

2.jpg

此時babyhanggege.pubkey中的文件已經是可讀的符號了。

 5. 從hostA 主機上復制公鑰文件到需加密的B主機上

scp babyhanggege.pubkey 10.1.44.3:

6.  在需加密數據的hostB 主機上生成公鑰/ 私鑰對

gpg –list-keys

gpg –gen-key

3.jpg

在生成隨機數過程中盡量使用終端機來做,必要時需要多敲擊鍵盤和移動鼠標。

7.在hostB 主機上導入公鑰

gpg –import babyhanggege.pubkey   (導入密鑰時要切換至A主機的密鑰所在目錄)

gpg –list-keys   (如圖所示,此時就生成了兩把密鑰)

4.jpg

此時我查看B主機的密鑰文件,發現并未看到babyhanggege.pubkey的文件,帶著疑慮查看了pubring.gpg的二進制文件,在這里找到了答案,原來babyhanggege的公鑰已經導進了B主機的pubring.gpg的文件中。(看下圖的最后一行,便可找到答案)

5.jpg

8.用從A主機導入的公鑰,加密hostB主機的文件file,生成file。gpg

命令:gpg -e -r babyhanggege f1

9.復制加密文件到hostA主機

scp f1.gpg 10.1.44.2:  默認拷貝至A主機的家目錄下

10.在hostA主機解密文件

gpg -d f1.gpg (只能進行查看)

gpg -o f1 -d f1.gpg(可以將解密的文件保存下來)

6.jpg

11.刪除公鑰和私鑰

A主機上

gpg –delete-secret-keys babyhanggege    

gpg –delete-keys babyhanggege

經試驗要刪除兩個密鑰,必須先刪除私鑰,才能刪除公鑰!

B主機上

gpg –delete-secret-keys hostB

gpg –delete-keys hostB

gpg –delete-keys babyhanggege (我們僅從A主機上導來了babyhanggege的公鑰)

二、實現單向加密

1、openssl dgst

openssl dgst -md5[-hex]  /PATH/SOMEFILE

openssl dgst -md5 testfile

2、md5sum

md5sum /PATH/TO/SOMEFILE

3、sha1sum

4、sha224sum

5、sha256sum

三、生成密鑰對兒

1、生成私鑰

openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS

(umask 077;openssl genrsa -out key.pri -des 2048)

2、從私鑰中提取出公鑰

openssl rsa -in PRIVATEKEYFILE -pubout -out PUBLICKEYFILE

四、其他

 生成用戶密碼:

passwd 命令:man sslpasswd

openssl passwd -1 -salt SALT( 最多8 位)

openssl passwd -1 –salt centos

7.jpg

 生成隨機數:man sslrand

openssl rand[-out file] [-randfile(s)] [-base64] [-hex]num

NUM:  表示字節數;-hex 時,每個字符4 位,出現的字符數為NUM*2

五、基于key驗證

情形一、linux主機之間的ssh連接

A主機使用SSH去連接B主機

第一次連接時A主機會將B主機的/etc/ssh/ssh_host_rsa_key.pub中公鑰拷貝至A主機自己的/root/.ssh/known_hosts,等下次連接時,B用自己私鑰加密一個數據包給A時,A用此公鑰去解密A用自己私鑰加密的內容,如果能夠解密,那么A會信任確實是之前的B。

1. 在客戶端生成密鑰對兒

ssh-keygen -t rsa [-P ''] [-f “/root/.ssh/id_rsa"]

#ssh-keygen –t rsa –P ‘’ -f “/root/.ssh/id_rsa”

我在centos7上直接ssh -keygen

8.jpg

2. 把公鑰文件傳輸至遠程服務器對應用戶的家目錄

ssh-copy-id [-i [identity_file]] [user@]host

ssh-copy-id -i ./sshd/id_rsa.pub babyhanggege@10.1.44.3

再次連接時就會發現已經不需要密碼了。

只要將公鑰文件任意傳送給別的機器即可,實現連接任意機器無需密碼。

3.添加口令

ssh-keygen -p

4.啟用代理,讓代理幫助記憶口令

情形二、Windows下xshell基于key驗證

1、點擊“工具”選項下,用戶新建密鑰生成向導

9.jpg

2、選擇好密鑰類型與密鑰長度后,進行下一步。

10.jpg

3、名稱信息的確認,該步是為私鑰加密。

11.jpg

4、點擊屬性,點擊公鑰,保存公鑰文件。

12.jpg

5.將公鑰文件傳給所想要連接的主機。

 cat id_rsa_1024.pub > /root/.ssh/authorized_keys

至此即可。

原創文章,作者:178babyhanggege,如若轉載,請注明出處:http://www.www58058.com/48771

(0)
178babyhanggege178babyhanggege
上一篇 2016-09-26
下一篇 2016-09-26

相關推薦

  • 正則

    Edit 正則 概述: 正則表達式,Regular Expression,縮寫regex、regexp、RE 正則表達式是文本處理極為重要的技術,用它可以對字符串按照某種規則進行檢索、替換 1970年,Unix之父ken Thompson將正則表達式引入到Unix中文本編輯器ed和grep命令中,由此正則表達式普及開來 1980年后,perl語言對Henry…

    Linux干貨 2017-11-06
  • linux系統從windows xp上同步時間

    最近公司客戶的調度系統GPS天文時鐘出現故障,導致整個調度系統失去時間源,時間積累誤差達十幾分鐘。去現場更換時鐘很不方便,所有就想用現場的一臺win xp(可上網)的遠程機器做NTPserver,然后給linux系統對時。上網查了好多資料,終于找到了一個有效的解決方案,具體內容和步驟如下:首先下載一個Windows下的NTP服務軟件。這個軟件可以搭建wind…

    Linux干貨 2015-03-27
  • javascript快速入門

    標識符多了一個美元符號python中只有字母和下劃線和數字,數字不能開頭數據類型有number(整形和浮點型),boolean,string,null,undefined(聲明未賦值),symbol(新引入),object類型(基本類型和特殊類型外的其他類型) 引入一個變量要先申明,var a,let b常量類型,聲明時定義,python中不存在const …

    Linux干貨 2018-01-15
  • 如何修改linux系統主機名稱及自動登錄圖形化界面

    編輯器:gedit(圖形化編輯器)在圖形界面編輯開機自動登錄圖形化界面(在工作中不能使用)Centos6  第一步:ls /etc/gdm/custom.conf第二步:nano /etc/gdm/custom.conf第三步:[daemon]第四步:AutomaticLoginEnable=trueAutomaticLogin=root第五步:按…

    Linux干貨 2017-07-15
  • Linux文件查找及壓縮常用知識總結

    一、文件查找 1.locate命令: locate KEYWORD 常用選項:     -i 執行區分大小寫的搜索     -n  N只列舉前N個匹配項目 查詢系統上預建的文件索引數據庫在:/var/lib/mlocate/mlocate.…

    Linux干貨 2016-08-18
  • 系統管理之Systemd詳解(centos7)

    這篇著重講解下Syetemd的相關知識,systemd可以說是centos7上的重大改革,功能之強大媲美一個操作系統,那下面就從以下幾點來進行講解:CentOS7啟動Unit介紹服務管理和查看啟動排錯破解口令修復grub2 啟動流程: post–>BISO–>bootloader(MBR)–>kernel(ramdisk)–>…

    Linux干貨 2016-09-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-26 13:23

    總結的很詳細,操作性性很強,值得學習,

欧美性久久久久