亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Linux下實現SSH免密碼登錄和實現秘鑰的管理、分發、部署SHELL腳本分享

2020-07-27 19:13:48
字體:
來源:轉載
供稿:網友

環境:

ssh server: 192.168.100.29  server.example.com
ssh client: 192.168.100.30  client.example.com

通過root用戶建立秘鑰認證實現SHELL腳本管理,分發,部署

首先client端創建秘鑰對,并將公鑰分發給需要登錄的SSH服務端

注:公鑰相當于鎖,私鑰相當于鑰匙,我們這里相當于在客戶端創建一對鑰匙和鎖,想要做到SSH免密碼登錄,就相當于我們將鎖分發到服務端并裝鎖,然后客戶端就可以利用鑰匙開鎖。

一.建立秘鑰認證

1.在客戶端創建秘鑰對:(ssh client)

復制代碼 代碼如下:
# su - root
# ssh-keygen -t dsa

一路回車即可
復制代碼 代碼如下:

Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
e9:5e:4a:7f:79:64:c5:ae:f2:06:a7:26:e4:41:5c:0e root@zabbix.example.com
The key's randomart image is:
+--[ DSA 1024]----+
|                 |
|          E .    |
|         . +   . |
|         .o .   o|
|        S.     o |
|       .  o . + .|
|        oo.. B . |
|       o +o * +  |
|        o .+ =.  |
+-----------------+

2.查看生成的秘鑰對:(ssh client)
復制代碼 代碼如下:

# ls -lda .ssh
-----------------
drwx------ 2 root root 4096 6月   6 23:03 .ssh
-----------------
# cd .ssh
# ls -la
------------------
總用量 16
drwx------   2 root root 4096 6月   6 23:03 .
dr-xr-x---. 26 root root 4096 6月   6 23:03 ..
-rw-------   1 root root  668 6月   6 23:03 id_dsa
-rw-r--r--   1 root root  613 6月   6 23:03 id_dsa.pub
------------------

秘鑰生成完畢

3.將公鑰(鎖)分發到SSH服務端:(ssh client)

復制代碼 代碼如下:

# ssh-copy-id -i .ssh/id_dsa.pub 192.168.100.29

注:若非root用戶,以及自定義SSH端口,則格式為:
復制代碼 代碼如下:
# ssh-copy-id -i .ssh/id_rsa.pub "-p 22 user@server"

輸入yes,然后密碼后回車:
復制代碼 代碼如下:

The authenticity of host '192.168.100.30 (192.168.100.30)' can't be established.
RSA key fingerprint is fc:9b:2e:38:3b:04:18:67:16:8f:dd:94:a8:bd:08:03.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.30' (RSA) to the list of known hosts.
Address 192.168.100.30 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
root@192.168.100.30's password:
Now try logging into the machine, with "ssh '192.168.100.30'", and check in:
 .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

公鑰分發完畢

4.服務端查看收到的分發文件:(ssh server)

復制代碼 代碼如下:

# ll /root/.ssh
-------------
總用量 4
-rw------- 1 root root 613 6月   6 23:29 authorized_keys
-------------

成功收到

5.客戶端驗證登陸:(ssh client)
查看服務端IP地址:

復制代碼 代碼如下:

# ssh 192.168.100.29 /sbin/ifconfig eth0
-----------------------
Address 192.168.100.29 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7A:4F:30 
         inet addr:192.168.100.29  Bcast:192.168.100.255  Mask:255.255.255.0
         inet6 addr: fe80::20c:29ff:fe7a:4f30/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:184297 errors:0 dropped:0 overruns:0 frame:0
         TX packets:162028 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:163599380 (156.0 MiB)  TX bytes:51284830 (48.9 MiB)
         Interrupt:19 Base address:0x2000

注:這里遇到警告提示“Address 192.168.100.29 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!”。
解決辦法為修改客戶端/etc/hosts文件,將服務端的ip地址與主機名對應關系寫進去就可以了。
復制代碼 代碼如下:

(ssh client)
# echo "192.168.100.29  server.example.com" >> /etc/hosts

重新查看
復制代碼 代碼如下:

# ssh 192.168.100.29 /sbin/ifconfig eth0

無錯誤提示:
復制代碼 代碼如下:

--------------------------
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7A:4F:30 
         inet addr:192.168.100.29  Bcast:192.168.100.255  Mask:255.255.255.0
         inet6 addr: fe80::20c:29ff:fe7a:4f30/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:184530 errors:0 dropped:0 overruns:0 frame:0
         TX packets:162264 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:163618650 (156.0 MiB)  TX bytes:51304877 (48.9 MiB)
         Interrupt:19 Base address:0x2000
---------------------------

查看服務端內存
復制代碼 代碼如下:

# ssh 192.168.100.29 free -m
--------------------------
            total       used       free     shared    buffers     cached
Mem:          1006        991         14          0        177        308
-/+ buffers/cache:        506        500
Swap:         1023          6       1017
---------------------------

二.創建SHELL腳本實現批量管理:(ssh client)
1.創建腳本:
復制代碼 代碼如下:

# cd /etc/rc.d
# vi manager.sh
------------------
for ip in `cat iplist`
do
  echo "---$ip---"
  ssh $ip $1
done
------------------

2.生成IP列表:(若有多臺SSH服務端需要管理,這里以此類推即可)
復制代碼 代碼如下:

# echo 192.168.100.29 >> iplist
# echo 192.168.100.28 >> iplist
。。。。。
# cat iplist
---------------
192.168.100.29
---------------

3.執行腳本:
復制代碼 代碼如下:

# sh manager.sh "df -h"
----------------
---192.168.100.29---
文件系統              容量  已用  可用 已用%% 掛載點
/dev/sda3              19G  6.7G   11G  38% /
tmpfs                 504M     0  504M   0% /dev/shm
/dev/sda1             194M   27M  158M  15% /boot
----------------

管理成功

三.創建SHELL腳本實現批量分發:(ssh client)

1.創建腳本:

復制代碼 代碼如下:

# cd /etc/rc.d
# vi distribute.sh
------------------
for ip in `cat iplist`
do
  echo "---$ip---"
  scp -r -p $1 $ip:$2
done
------------------

腳本IP列表已創建
執行腳本:
將本地/root下文件分發到SSH服務端主機
復制代碼 代碼如下:

# sh distribute.sh /root /tmp
------------------
---192.168.100.29---
.ICEauthority                                 100%  620     0.6KB/s   00:00   
install.log.syslog                            100%   10KB  10.2KB/s   00:00   
preferred-web-browser.desktop                 100% 2378     2.3KB/s   00:00   
preferred-mail-reader.desktop                 100%  257     0.3KB/s   00:00   
.converted-launchers                          100%    0     0.0KB/s   00:00   
.bash_history                                 100% 3200     3.1KB/s   00:00   
.bash_logout                                  100%   18     0.0KB/s   00:00   
applet_dirlist                                100%    0     0.0KB/s   00:00   
saved_state                                   100%   65KB  64.5KB/s   00:00   
8f329b0c645a51e018b765fa0000001a-0            100%  463     0.5KB/s   00:00   
............
------------------

分發成功

四.批量部署:

這里的部署就結合了SHELL腳本批量管理和分發兩個功能。
比如你要部署N臺SSH服務端批量安裝APACHE。

1.寫好APACHE安裝腳本。
2.將安裝腳本分發到SSH服務端。
3.利用SHELL管理遠端執行該腳本即可。
這里就不做過多演示,有機會我整理下我的LAMP文檔,寫個APACHE腳本,在這里演示下。
注:因為涉及風險操作。所以不推薦線上利用root用戶進行批量管理操作。
建議設置普通賬戶,再利用sudo提權操作。

通過普通用戶建立秘鑰認證并sudo提權進行管理,分發,部署

復制代碼 代碼如下:

(ssh server)
# useradd user02
# echo "123456" | passwd --stdin user02
(ssh client)
# useradd user01
# echo "123456" | passwd --stdin user01
# su - user01
# ssh-keygen -t dsa

注:默認三個回車完成創建
復制代碼 代碼如下:

# ssh-copy-id -i .ssh/id_dsa.pub user02@192.168.100.29

輸入密碼123456,分發完畢
驗證:
復制代碼 代碼如下:

# ssh user02@192.168.100.29 /sbin/ifconfig eth0

返回192.168.100.29端IP即表明秘鑰驗證成功。
分發:
注:客戶端user01用戶現在可以免密碼分發到服務端user02所屬文件夾,但若想分發到root所屬文件夾,則需要sudo提權。
1.服務端sudo提權:
復制代碼 代碼如下:

# su - root
# echo "user02 ALL=(ALL) NOPASSWD:/usr/bin/rsync,/bin/tar,/usr/bin/scp,/bin/cp" >> /etc/sudoers

登錄user02賬戶
復制代碼 代碼如下:

# su - user02

查看賬戶信息:
復制代碼 代碼如下:

# sodo -l
----------------
............
User user02 may run the following commands on this host:
   (ALL) NOPASSWD: /usr/bin/rsync, (ALL) /bin/tar, (ALL) /usr/bin/scp,(ALL) /bin/cp
----------------

2.客戶端先分發到服務端user02用戶家目錄:
復制代碼 代碼如下:

# scp -P22 -r -p /home/user01/ user02@192.168.100.29:/home/user02
-----------------------------
.bash_logout                                  100%   18     0.0KB/s   00:00   
.bashrc                                       100%  124     0.1KB/s   00:00   
known_hosts                                   100%  396     0.4KB/s   00:00   
id_dsa                                        100%  672     0.7KB/s   00:00   
id_dsa.pub                                    100%  615     0.6KB/s   00:00   
.bash_profile                                 100%  176     0.2KB/s   00:00 
-------------------------------

2.連接服務端后執行sudo cp命令執行本地拷貝:
復制代碼 代碼如下:

# ssh -t user02@192.168.100.29 sudo cp /home/user02 /etc
-----------------------
Connection to 192.168.100.29 closed.
-----------------------

拷貝成功
注:
復制代碼 代碼如下:

# cp /test1 /test2/

是將/test1目錄拷貝到/test2/目錄下
復制代碼 代碼如下:

# cp /test1/ /test2/

是將/test1目錄下的所有文件拷貝到/test2/目錄下
-------大功告成--------

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产小视频国产精品| 97av在线影院| 亚洲三级黄色在线观看| 久热精品视频在线| 欧美日韩性视频在线| 热99精品只有里视频精品| 亚洲国产精品一区二区久| 精品综合久久久久久97| 久久久久久久亚洲精品| 亚洲天堂第二页| 91精品国产网站| 国产欧美日韩精品在线观看| 青青草一区二区| 国产一区二区三区在线观看网站| 国产美女主播一区| 久久久97精品| 亚洲一区免费网站| 欧美成人在线网站| 久久91精品国产91久久久| 91久久久精品| 91网站在线看| 日日噜噜噜夜夜爽亚洲精品| 在线视频免费一区二区| 3344国产精品免费看| 日韩欧美亚洲国产一区| 91日本在线观看| 日韩av在线精品| 92国产精品视频| 久久影视电视剧免费网站清宫辞电视| 国产欧美日韩专区发布| 国产精品成人播放| 欧美日韩另类在线| 欧美久久久精品| 久久亚洲国产精品成人av秋霞| 伊人伊人伊人久久| 久久精品视频网站| 欧美激情网站在线观看| 亚洲欧美日韩精品久久| 98视频在线噜噜噜国产| 成人www视频在线观看| 国产精品欧美一区二区三区奶水| 亚洲最大福利视频| 成人春色激情网| 欧美激情欧美激情| 国产精品中文字幕在线| 日本三级韩国三级久久| 精品视频在线导航| 国产精品视频资源| 欧洲精品久久久| 91精品视频网站| 亚洲人成网站色ww在线| 成人午夜一级二级三级| 久久中文精品视频| 久久av中文字幕| 欧美视频在线免费看| 欧美电影免费看| 啪一啪鲁一鲁2019在线视频| 国产成人精品在线播放| 久久久伊人欧美| 亚洲色图色老头| 国产亚洲精品综合一区91| 亚洲视频日韩精品| 亚洲精品美女在线| 欧美精品久久久久a| 永久555www成人免费| 成人福利在线视频| 久久久av亚洲男天堂| 日韩在线视频线视频免费网站| 一本色道久久88亚洲综合88| 国产91在线播放精品91| 久久99久久久久久久噜噜| 欧美日本高清一区| 亚洲人成亚洲人成在线观看| 国语自产精品视频在线看抢先版图片| 精品亚洲精品福利线在观看| 久久亚洲精品成人| 成人欧美在线视频| 亚洲片在线资源| 国产精品久久久久久久av大片| 国产激情999| 亚洲精品免费在线视频| 欧美一区二粉嫩精品国产一线天| 懂色av中文一区二区三区天美| 夜夜嗨av一区二区三区免费区| 亚洲国产日韩欧美在线动漫| 中文字幕亚洲字幕| 欧美日韩免费看| 亚洲欧美国产一本综合首页| 国产精品99导航| 538国产精品视频一区二区| 一本久久综合亚洲鲁鲁| 久久精品国产电影| 国产精品免费视频xxxx| 成人写真视频福利网| 欧美成aaa人片在线观看蜜臀| 亚洲视频一区二区| 国外色69视频在线观看| 欧美在线一级va免费观看| 久久综合伊人77777尤物| 国产精品久久一区| 欧美性视频精品| 欧美日韩亚洲激情| 欧美激情一区二区三级高清视频| 欧美日韩国产成人高清视频| 国产在线拍揄自揄视频不卡99| 秋霞成人午夜鲁丝一区二区三区| 日韩欧美亚洲成人| 国产成人精品久久| 欧美黄网免费在线观看| 久久成人av网站| 最新国产精品拍自在线播放| 538国产精品一区二区免费视频| 欧美国产第一页| 久久99久国产精品黄毛片入口| 精品视频—区二区三区免费| 日韩在线观看网站| 国产精品一区av| 久久久最新网址| 欧美三级欧美成人高清www| 欧美一级高清免费播放| 日韩精品一区二区三区第95| 精品国产1区2区| 欧美国产乱视频| 日韩精品视频免费| 激情懂色av一区av二区av| 日韩高清电影免费观看完整版| 欧美猛交ⅹxxx乱大交视频| 国产精品成av人在线视午夜片| 亚洲第一免费播放区| 精品国产鲁一鲁一区二区张丽| 日韩中文字幕免费看| 欧美日韩国产精品一区| 午夜精品久久久久久久久久久久久| 久久视频精品在线| 亚洲美女福利视频网站| 亚洲国产古装精品网站| 国产精品人人做人人爽| 色青青草原桃花久久综合| 日本欧美爱爱爱| 91高清免费在线观看| 日韩av综合中文字幕| 欧美大片大片在线播放| 成人免费视频a| 免费av在线一区| 成人激情春色网| 国内精品一区二区三区| 欧美精品在线免费播放| 欧美性猛交xxxx黑人| 高潮白浆女日韩av免费看| 国产精品久久久精品| 日本免费一区二区三区视频观看| 中文字幕亚洲无线码a| 精品精品国产国产自在线| 亚洲欧洲在线观看| 欧美激情一区二区三区在线视频观看| 一个人看的www久久| 91tv亚洲精品香蕉国产一区7ujn| 国产91精品高潮白浆喷水| 日韩精品高清在线观看| 精品久久香蕉国产线看观看gif| 视频在线观看99| 97超级碰碰人国产在线观看| 国产亚洲一级高清| 亚洲欧洲视频在线|