計(jì)劃任務(wù) 配置 SSH

單次任務(wù)

[單次任務(wù)]
http://www.reibang.com/p/066f6aa07898

atd 服務(wù)負(fù)責(zé)管理單次任務(wù)

我們使用 at 這個(gè)指令來產(chǎn)生所要運(yùn)行的工作,并將這個(gè)工作以文本文件的方式寫入 /var/spool/at/ 目錄內(nèi),該工作便能等待 atd 這個(gè)服務(wù)的取用與執(zhí)行了
實(shí)際上有兩個(gè)權(quán)限控制文件,規(guī)定了哪些用戶可以使用甜孤,哪些用戶不可以使用
規(guī)則是這樣的:
一行一個(gè)用戶

首先查看 /etc/at.allow 文件肉瓦。
假如系統(tǒng)中存在此文件援雇,就只允許在此文件的用戶使用 at, 其他都拒絕虱歪。
假如沒有 /etc/at.allow 文件,就看有沒有 /etc/at.deny 文件搓逾。
這個(gè)文件意義就是,允許所有杯拐,拒絕部分霞篡。
就是在這個(gè)文件中的用戶是被拒絕的,不在此文件中的用戶是被允許的端逼。

默認(rèn)CentOS7系統(tǒng)是有一個(gè)空的 /etc/at.deny 文件朗兵。
意思是允許所有人使用 at 命令的意思

進(jìn)行單次任務(wù)的程序是 at 命令, 管理他的服務(wù)是 atd

systemctl restart atd 
systemctl enable atd
systemctl status atd

具體命令操作

[root@study ~]# at [-mldv] TIME
[root@study ~]# at -c 工作號(hào)碼
選項(xiàng)與參數(shù):
-m  :當(dāng) at 的工作完成后,即使沒有輸出訊息顶滩,亦以 email 通知使用者該工作已完成余掖。
-l  :at -l 相當(dāng)于 `atq` 命令,列出目前系統(tǒng)上面的所有該使用者的 at 調(diào)度礁鲁;
-d  :at -d 相當(dāng)于 `atrm` 命令 浊吏,可以取消一個(gè)在 `at` 調(diào)度中的工作;
-v  :可以使用較明顯的時(shí)間格式列出 at 調(diào)度中的工作列表救氯;
-c  :可以列出后面接的該項(xiàng)工作的實(shí)際指令內(nèi)容找田。

TIME:
時(shí)間格式,可以定義出『什么時(shí)候要進(jìn)行 at 這項(xiàng)工作』的時(shí)間.
格式有:
HH:MM 如: 04:00
在今日的 HH:MM 進(jìn)行着憨,若時(shí)間已過墩衙,則在明天的 HH:MM 進(jìn)行行此工作。
HH:MM YYYY-MM-DD 如: 04:00 2019-07-28
強(qiáng)制在某年某月的某一天的特殊時(shí)刻進(jìn)行該工作甲抖!
HH:MM[am|pm] + number [minutes|hours|days|weeks]
如:
now + 5 minutes

04pm + 3 days
就是說漆改,在某個(gè)時(shí)間點(diǎn)『再加上幾個(gè)時(shí)間后』才進(jìn)行。

示例

[root@kvm-docker ~]# at now + 5 minutes
at> echo "hello" > /dev/pts/0
at> <EOT>
job 1 at Sat Jul 27 18:49:00 2019

ctrl + backspace進(jìn)行刪除操作
ctrl + d    退出編輯

查詢:
[root@kvm-docker ~]# atq
1   Sat Jul 27 18:49:00 2019 a root

周期性的任務(wù)

循環(huán)執(zhí)行的例行性工作調(diào)度則是由 cron (crond) 這個(gè)系統(tǒng)服務(wù)來控制的准谚。
默認(rèn)情況下挫剑,每個(gè)用戶都可以通過 crontab 管理自己的計(jì)劃任務(wù)。
和 at 一樣柱衔,有兩個(gè)文件控制權(quán)限:

/etc/cron.allow
/etc/cron.deny

使用

crontab -l    查詢?nèi)蝿?wù)表
crontab -r    刪除任務(wù)表
crontab -e     進(jìn)入編輯任務(wù)表
crontab -eu 用戶名    給某個(gè)用戶設(shè)定一個(gè)任務(wù)

關(guān)于時(shí)間

參考: cat /etc/crontab

代表意義 分鐘 小時(shí) 日期 月份 周 指令
數(shù)字范圍 0-59 0-23 1-31 1-12 0-7 命令

周的數(shù)字為 0 或 7 時(shí)樊破,都代表“星期天”的意思愉棱!
總結(jié)記憶:
分 時(shí) 日 月 星

周的數(shù)字為 0 或 7 時(shí),都代表“星期天”的意思哲戚!
總結(jié)記憶:
分 時(shí) 日 月 星

除了數(shù)字還有幾個(gè)個(gè)特殊的符號(hào):
就是 *奔滑、/ 和 -、, 顺少,

*代表所有的取值范圍內(nèi)的數(shù)字

/ 代表每的意思,*/5 表示每5個(gè)單位

  • 代表從某個(gè)數(shù)字到某個(gè)數(shù)字

, 代表分隔時(shí)段的意思朋其,就是 和 的意思

以下舉幾個(gè)例子說明:

每天早上6點(diǎn):
0 6 * * * command

每?jī)蓚€(gè)小時(shí):
0 */2 * * * command

23 點(diǎn)到早上7點(diǎn)之間每?jī)蓚€(gè)小時(shí), 并且還有早上8點(diǎn):

0 23-7/2,8 * * * command

每個(gè)月的 4 號(hào)的早上11點(diǎn)和每周的周一到周三的早上11點(diǎn):
0 11 4 * 1-3 command

1月1日早上2點(diǎn) 30 分:
30 2 1 1 * command

注意

1.不要在統(tǒng)一時(shí)間段執(zhí)行多個(gè)計(jì)劃任務(wù)

2.將命令的錯(cuò)誤輸出重定向

*/1 * * * * /bin/echo "hello" 2> /dev/null //2表示錯(cuò)誤輸出,并放到“回收站”脆炎,1的話就表示正確輸出

3.周與日月不可同時(shí)并存

網(wǎng)絡(luò)基礎(chǔ)配置

配置本機(jī) IP 和主機(jī)名
系統(tǒng)網(wǎng)卡的配置文件在 /etc/sysconfig/network-scripts 目錄下
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE=Ethernet   網(wǎng)絡(luò)類型梅猿,不需要編輯
BOOTPROTO=none   獲取地址的方式,可選值 none  表示手動(dòng)配置 , dhcp 表示從  DHCP 服務(wù)器自動(dòng)獲取
IPADDR=192.168.1.52    本機(jī)的IP 地址
PREFIX=24     子網(wǎng)掩碼前綴的方式秒裕,24 表示 255.255.255.0
NETMASK =255.255.255.0        子網(wǎng)掩碼
GATEWAY=192.168.1.1     網(wǎng)關(guān)
DNS1=114.114.114.114    手動(dòng)配置的 DNS 地址
DEFROUTE=yes           
PEERDNS=no           使用這里設(shè)置的  DNS
ONBOOT=yes           是否開機(jī)激活這個(gè)網(wǎng)卡袱蚓,假如不激活,重啟網(wǎng)絡(luò)服務(wù)也是無效的簇爆。

配置好后癞松,需要重啟網(wǎng)絡(luò)服務(wù)才能生效
systemctl restart network # 字符界面下

備用的相關(guān)網(wǎng)絡(luò)配置
/etc/resolve.conf


image.png

配置主機(jī)名

文件 /etc/hostname

命令行設(shè)置主機(jī)名

 hostnamectl set-hostname sharkhost
獲取主機(jī)名
hostname
或者
hostnamectl

配置本機(jī)解析主機(jī)名

文件路徑 /etc/hosts


image.png

配置好自己或者別人的ip 加名字,然后直接ping 那個(gè)名字就行

網(wǎng)絡(luò)基礎(chǔ)配置命令

IP


image.png

iproute 軟件包 提供 ip 命令

給網(wǎng)卡接口配置 IP 地址入蛆,一個(gè)網(wǎng)卡可以配置多個(gè) ip
ip addr add 192.168.0.193/24 dev enp0s3
刪除一個(gè)網(wǎng)卡接口上的一個(gè) IP 地址
ip addr del 192.168.0.193/24 dev enp0s3
查看指定網(wǎng)卡接口上的 IP 地址
ip addr show enp0s3

查看一個(gè) ip 的路由路徑

~ ip route get 220.181.111.188

百度的ip 從 本機(jī)的 網(wǎng)關(guān)IP 本機(jī)的設(shè)備 到 本機(jī)的 ip

220.181.111.188 via 172.16.153.2 dev bond0 src 172.16.153.129
cache

查看本機(jī)的路由表

ip route show

default via 10.0.122.1 dev enp0s3 proto static metric 100
默認(rèn)路由    網(wǎng)關(guān)的 ip   本機(jī)設(shè)備  enp0s3   路由協(xié)議  靜態(tài)的      
10.0.122.0/24 dev enp0s3 proto kernel scope link src 10.0.122.133 metric 100
目標(biāo)網(wǎng)絡(luò)號(hào)      本機(jī)設(shè)備  enp0s3    內(nèi)核轉(zhuǎn)發(fā)      源地址是 10.0.122.133
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.193
網(wǎng)卡上有的網(wǎng)絡(luò)响蓉,內(nèi)核都會(huì)自動(dòng)有一條路由

設(shè)置默認(rèn)路由

添加
ip route add default via 10.0.122.1 dev  enp0s3

刪除
ip  route   del  default    via  10.0.122.1   dev  enp0s3

使用 ip 命令的 neigh 選項(xiàng),你可以查看接入本機(jī)所在的局域網(wǎng)的其他設(shè)備的MAC地址

~ ip neigh
10.0.122.1 dev enp0s3 lladdr f0:98:38:3f:49:23 STALE
10.0.122.124 dev enp0s3 lladdr 84:2b:2b:1a:8e:80 REACHABLE
10.0.122.143 dev enp0s3 lladdr 28:d2:44:06:46:6f STALE
10.0.122.166 dev enp0s3 lladdr 00:0e:c6:d6:4c:83 REACHABLE

查看本機(jī)監(jiān)聽的端口

ss -l 顯示本地打開的所有處于 LISTEN 監(jiān)聽狀態(tài)的端口
ss -pl 顯示每個(gè)進(jìn)程具體打開的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有的UDP Socekt
ss -o state established '( dport = :smtp or sport = :smtp )' 顯示所有已建立的SMTP連接
ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接
ss -x src /tmp/.X11-unix/* 找出所有連接X服務(wù)器的進(jìn)程
ss -s 列出當(dāng)前socket詳細(xì)信息
ss -n 監(jiān)聽端口用數(shù)字表示

sshd 服務(wù)

[sshd服務(wù)]
(http://www.reibang.com/p/85a956108421)
配置文件 /etc/ssh/sshd_config

image.png

加速 SSH 的連接
GSSAPIAuthentication no
image.png

登錄的基本操作

以密碼認(rèn)證方式登錄到遠(yuǎn)程服務(wù)器(ssh 服務(wù)端)

場(chǎng)景1:
ssh 客戶端使用 root 用戶連接到 ssh 服務(wù)端哨毁,假設(shè)服務(wù)端 ip 為 10.0.122.133

先決條件:

服務(wù)端有 root 用戶
服務(wù)端開啟了 sshd 服務(wù)枫甲,默認(rèn)監(jiān)聽端口 22
客戶端有個(gè) ssh 客戶端工具

1.首先在 客戶端為當(dāng)前的用戶創(chuàng)建密鑰對(duì)
ssh-keygen
此時(shí),當(dāng)前用戶的家目錄的 .ssh 目錄下就會(huì)有密鑰對(duì)
id_rsa 私鑰
id_rsa.pub 公鑰
公鑰用于非密碼認(rèn)證方式時(shí)扼褪,傳送給對(duì)方想幻,作為信任的憑證。
私鑰會(huì)報(bào)存到本地
2.以 服務(wù)端的用戶 root 連接到 服務(wù)端

ssh   root@服務(wù)端ip
或者
ssh   root@服務(wù)端主機(jī)名

這里服務(wù)端的主機(jī)名必須可以被客戶端主機(jī)正確解析
假如第一次連接會(huì)得到一個(gè)提示话浇。
大致的意思是脏毯,要不要信任 ssh 服務(wù)端的公鑰。信任輸入 yes幔崖。
此時(shí)食店,客戶端會(huì)把 服務(wù)端的 公鑰存放在當(dāng)前用戶家目錄下的 .ssh/known_hosts
文件中,一行一個(gè)主機(jī)赏寇。
3.輸入密碼即可

端口登陸

image.png

image.png

去掉注釋#就可以執(zhí)行
重啟服務(wù)

systemctl restart sshd

檢查監(jiān)聽端口


image.png

客戶端連接

ssh  -p   22  root@10.0.122.102
image.png

以公鑰的方式認(rèn)證方式登錄到遠(yuǎn)程服務(wù)器(ssh 服務(wù)端)

客戶端需要發(fā)送自己的公鑰給服務(wù)端吉嫩,服務(wù)端接收后會(huì)保存在用戶家目錄中的 .ssh/authorized_keys 文件中
ssh-copy-id root@10.0.122.102

ssh-copy-id 服務(wù)端用戶@服務(wù)端ip
登錄驗(yàn)證

ssh  root@10.0.122.102

scp 傳輸文件

scp 是基于 ssh 協(xié)議的,可以實(shí)現(xiàn)客戶端和服務(wù)端的文件傳輸

拷貝客戶端到服務(wù)端

下面是把客戶端的當(dāng)前目錄下的文件 local_file.txt 傳輸?shù)椒?wù)端的 /tmp/ 目錄下嗅定,文件名不變

scp   local_file.txt    root@10.0.122.133:/tmp/

假如指定端口

scp  -P 2222   local_file.txt    root@10.0.122.133:/tmp/

拷貝服務(wù)端文件到客戶端

下面的命令是把服務(wù)端的文件 /tmp/local_file.txt 傳輸?shù)娇蛻舳说漠?dāng)前操作命令的目錄下

scp  root@10.0.122.133:/tmp/local_file.txt   .

假如指定端口

scp   -P  2222  root@10.0.122.133:/tmp/local_file.txt   .

常用配置參數(shù)

1\.  SSH Server 的設(shè)置自娩,包含使用的 port 啦,以及使用的密碼演算方式
Port 22
# SSH 默認(rèn)監(jiān)聽 22 這個(gè)port渠退,也可以使用多個(gè)port忙迁,即重複使用 port 這個(gè)設(shè)定項(xiàng)目脐彩!
# 例如想要開放 sshd 在 22 與 443 ,則多加一行內(nèi)容為:『 Port 443 』
# 然後重新啟動(dòng) sshd 這樣就好了动漾!不過丁屎,不建議修改 port number 啦荠锭!

Protocol 2
# 選擇的 SSH 協(xié)定版本旱眯,可以是 1 也可以是 2 ,CentOS 5.x 預(yù)設(shè)是僅支援 V2。
# 如果想要支援舊版 V1 ,就得要使用『 Protocol 2,1 』才行央渣。

ListenAddress 0.0.0.0
# 監(jiān)聽的主機(jī)介面卡饲嗽!舉個(gè)例子來說,如果你有兩個(gè) IP颗祝,分別是 192.168.1.100 及 192.168.100.254,假設(shè)你只想要讓 192.168.1.100 可以監(jiān)聽 sshd ,那就這樣寫:
# 『 ListenAddress 192.168.1.100 』預(yù)設(shè)值是監(jiān)聽所有介面的 SSH 要求

PidFile /var/run/sshd.pid
# 可以放置 SSHD 這個(gè) PID 的檔案蓬蝶!上述為預(yù)設(shè)值

LoginGraceTime 2m
# 當(dāng)使用者連上 SSH server 之後,會(huì)出現(xiàn)輸入密碼的畫面猜惋,在該畫面中丸氛,
# 在多久時(shí)間內(nèi)沒有成功連上 SSH server 就強(qiáng)迫斷線!若無單位則預(yù)設(shè)時(shí)間為秒著摔!

Compression delayed
# 指定何時(shí)開始使用壓縮資料模式進(jìn)行傳輸缓窜。有 yes, no 與登入後才將資料壓縮 (delayed)

2\. 說明主機(jī)的 Private Key 放置的檔案,預(yù)設(shè)使用下面的檔案即可谍咆!
HostKey /etc/ssh/ssh_host_key        # SSH version 1 使用的私鑰
HostKey /etc/ssh/ssh_host_rsa_key    # SSH version 2 使用的 RSA 私鑰
HostKey /etc/ssh/ssh_host_dsa_key    # SSH version 2 使用的 DSA 私鑰
# 還記得我們?cè)谥鳈C(jī)的 SSH 連線流程裡面談到的禾锤,這裡就是 Host Key ~

3\. 關(guān)於登錄檔的訊息資料放置與 daemon 的名稱!
SyslogFacility AUTHPRIV
# 當(dāng)有人使用 SSH 登入系統(tǒng)的時(shí)候摹察,SSH 會(huì)記錄資訊恩掷,這個(gè)資訊要記錄在什麼 daemon name
# 底下?預(yù)設(shè)是以 AUTH 來設(shè)定的供嚎,即是 /var/log/secure 裡面黄娘!什麼?忘記了查坪!
# 回到 [Linux 基礎(chǔ)](http://linux.vbird.org/linux_basic/)去翻一下寸宏。其他可用的 daemon name 為:
DAEMON,USER,AUTH, LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,

LogLevel INFO
# 登錄記錄的等級(jí)!嘿嘿偿曙!任何訊息氮凝!同樣的,忘記了就回去參考望忆!

4\. 安全設(shè)定項(xiàng)目罩阵!極重要竿秆!
4.1 登入設(shè)定部分
PermitRootLogin yes
# 是否允許 root 登入!預(yù)設(shè)是允許的稿壁,但是建議設(shè)定成 no幽钢!

StrictModes yes
# 是否讓 sshd 去檢查使用者家目錄或相關(guān)檔案的權(quán)限資料,
# 這是為了擔(dān)心使用者將某些重要檔案的權(quán)限設(shè)錯(cuò)傅是,可能會(huì)導(dǎo)致一些問題所致匪燕。
# 例如使用者的 ~.ssh/ 權(quán)限設(shè)錯(cuò)時(shí),某些特殊情況下會(huì)不許用戶登入

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
# 是否允許用戶自行使用成對(duì)的金鑰系統(tǒng)進(jìn)行登入行為喧笔,僅針對(duì) version 2帽驯。
# 至於自製的公鑰資料就放置於使用者家目錄下的 .ssh/authorized_keys 內(nèi)

PasswordAuthentication yes
# 密碼驗(yàn)證當(dāng)然是需要的!所以這裡寫 yes 囉书闸!

PermitEmptyPasswords no
# 若上面那一項(xiàng)如果設(shè)定為 yes 的話尼变,這一項(xiàng)就最好設(shè)定為 no ,
# 這個(gè)項(xiàng)目在是否允許以空的密碼登入浆劲!當(dāng)然不許嫌术!

4.2 認(rèn)證部分
RhostsAuthentication no
# 本機(jī)系統(tǒng)不使用 .rhosts,因?yàn)閮H使用 .rhosts太不安全了牌借,所以這裡一定要設(shè)定為 no

IgnoreRhosts yes
# 是否取消使用 ~/.ssh/.rhosts 來做為認(rèn)證度气!當(dāng)然是!

RhostsRSAAuthentication no #
# 這個(gè)選項(xiàng)是專門給 version 1 用的走哺,使用 rhosts 檔案在 /etc/hosts.equiv
# 配合 RSA 演算方式來進(jìn)行認(rèn)證蚯嫌!不要使用啊丙躏!

HostbasedAuthentication no
# 這個(gè)項(xiàng)目與上面的項(xiàng)目類似择示,不過是給 version 2 使用的!

IgnoreUserKnownHosts no
# 是否忽略家目錄內(nèi)的 ~/.ssh/known_hosts 這個(gè)檔案所記錄的主機(jī)內(nèi)容晒旅?
# 當(dāng)然不要忽略栅盲,所以這裡就是 no 啦!

ChallengeResponseAuthentication no
# 允許任何的密碼認(rèn)證废恋!所以谈秫,任何 login.conf 規(guī)定的認(rèn)證方式,均可適用鱼鼓!
# 但目前我們比較喜歡使用 PAM 模組幫忙管理認(rèn)證拟烫,因此這個(gè)選項(xiàng)可以設(shè)定為 no 喔!

UsePAM yes
# 利用 PAM 管理使用者認(rèn)證有很多好處迄本,可以記錄與管理硕淑。
# 所以這裡我們建議你使用 UsePAM 且 ChallengeResponseAuthentication 設(shè)定為 no 

4.3 與 Kerberos 有關(guān)的參數(shù)設(shè)定!因?yàn)槲覀儧]有 Kerberos 主機(jī),所以底下不用設(shè)定置媳!
KerberosAuthentication no
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes
KerberosTgtPassing no

4.4 底下是有關(guān)在 X-Window 底下使用的相關(guān)設(shè)定于樟!
X11Forwarding yes
#X11DisplayOffset 10
# X11UseLocalhost yes
# 比較重要的是 X11Forwarding 項(xiàng)目,他可以讓視窗的資料透過 ssh 通道來傳送喔拇囊!

4.5 登入後的項(xiàng)目:
PrintMotd yes
# 登入後是否顯示出一些資訊呢迂曲?例如上次登入的時(shí)間、地點(diǎn)等等寥袭,預(yù)設(shè)是 yes
# 亦即是列印出 /etc/motd 這個(gè)檔案的內(nèi)容路捧。但是,如果為了安全纠永,可以考慮改為 no 鬓长!

PrintLastLog yes
# 顯示上次登入的資訊谒拴!可以俺⒔!預(yù)設(shè)也是 yes 英上!

TCPKeepAlive yes
# 當(dāng)達(dá)成連線後炭序,伺服器會(huì)一直傳送 TCP 封包給用戶端藉以判斷對(duì)方式否一直存在連線。
# 不過苍日,如果連線時(shí)中間的路由器暫時(shí)停止服務(wù)幾秒鐘惭聂,也會(huì)讓連線中斷喔!
# 在這個(gè)情況下相恃,任何一端死掉後辜纲,SSH可以立刻知道!而不會(huì)有僵屍程序的發(fā)生拦耐!
# 但如果你的網(wǎng)路或路由器常常不穩(wěn)定耕腾,那麼可以設(shè)定為 no 的啦!

UsePrivilegeSeparation yes
# 是否使用權(quán)限較低的程序來提供使用者操作杀糯。我們知道 sshd 啟動(dòng)在 port 22 扫俺,
# 因此啟動(dòng)的程序是屬於 root 的身份。那麼當(dāng) student 登入後固翰,這個(gè)設(shè)定值
# 會(huì)讓 sshd 產(chǎn)生一個(gè)屬於 sutdent 的 sshd 程序來使用狼纬,對(duì)系統(tǒng)較安全

MaxStartups 10
# 同時(shí)允許幾個(gè)尚未登入的連線畫面?當(dāng)我們連上 SSH 骂际,但是尚未輸入密碼時(shí)疗琉,
# 這個(gè)時(shí)候就是我們所謂的連線畫面啦!在這個(gè)連線畫面中歉铝,為了保護(hù)主機(jī)盈简,
# 所以需要設(shè)定最大值,預(yù)設(shè)最多十個(gè)連線畫面,而已經(jīng)建立連線的不計(jì)算在這十個(gè)當(dāng)中

4.6 關(guān)於使用者抵擋的設(shè)定項(xiàng)目:
DenyUsers *
# 設(shè)定受抵擋的使用者名稱送火,如果是全部的使用者拳话,那就是全部擋吧!
# 若是部分使用者种吸,可以將該帳號(hào)填入弃衍!例如下列!
DenyUsers test

DenyGroups test
# 與 DenyUsers 相同坚俗!僅抵擋幾個(gè)群組而已镜盯!

5\. 關(guān)於 SFTP 服務(wù)與其他的設(shè)定項(xiàng)目!
Subsystem       sftp    /usr/lib/ssh/sftp-server
UseDNS yes
# 一般來說猖败,為了要判斷用戶端來源是正常合法的速缆,因此會(huì)使用 DNS 去反查用戶端的主機(jī)名
# 不過如果是在內(nèi)網(wǎng)互連,這項(xiàng)目設(shè)定為 no 會(huì)連接建立的速度比較快恩闻。

寫一個(gè)腳本實(shí)現(xiàn)免密登陸

auto_keygen (){
    /usr/bin/expect<<EOF

    set timeout 30

    spawn   ssh-keygen

    expect     {

        ".ssh/id_rsa)"       { send    "\n";  exp_continue }
        "Overwrite (y/n)?"   { send    "y\n"; exp_continue }
        "no passphrase):"    { send    "\n";  exp_continue }
        "again:"             { send    "\n";  exp_continue }
    }

EOF
}

# 寫個(gè)自動(dòng)免密登錄的函數(shù)
send_key () {
/usr/bin/expect <<EOF

# 發(fā)送公鑰給對(duì)方服務(wù)器
spawn ssh rourou@$ip
expect {
"yes/no" { send "yes\n"; exp_continue }
"password:" { send "${pwds}\n"; exp_continue} }
EOF
}

# 定義一個(gè)變量艺糜,其值是當(dāng)前用戶的公鑰文件
pub_key_file=$HOME/.ssh/id_rsa.pub

# 假如公鑰文件不存在,說明需要?jiǎng)?chuàng)建密鑰對(duì)
#if [ ! -f ${pub_key_file} ];then
#    auto_keygen
#fi

# 循環(huán)一個(gè)存放 ip 地址的文件幢尚,并且把每個(gè) IP地址傳遞給 函數(shù)
for ip in $(cat ./ips.txt)
do
   send_key $ip
done
for pwds in $(cat ./pwd.txt)
do

   send_key $pwds
done
send_key

需要建立 ip.txt 和 pwd.txt 兩個(gè)文件來記錄IP和密碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末破停,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子尉剩,更是在濱河造成了極大的恐慌真慢,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件理茎,死亡現(xiàn)場(chǎng)離奇詭異黑界,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)皂林,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門朗鸠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人式撼,你說我怎么就攤上這事童社。” “怎么了著隆?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵扰楼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我美浦,道長(zhǎng)弦赖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任浦辨,我火速辦了婚禮蹬竖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己币厕,他們只是感情好列另,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旦装,像睡著了一般页衙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阴绢,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天店乐,我揣著相機(jī)與錄音,去河邊找鬼呻袭。 笑死眨八,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的左电。 我是一名探鬼主播廉侧,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼券腔!你這毒婦竟也來了伏穆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤纷纫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后陪腌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辱魁,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年诗鸭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了染簇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡强岸,死狀恐怖锻弓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝌箍,我是刑警寧澤青灼,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站妓盲,受9級(jí)特大地震影響杂拨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悯衬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一弹沽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦策橘、人聲如沸炸渡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偶摔。三九已至,卻和暖如春促脉,著一層夾襖步出監(jiān)牢的瞬間辰斋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工瘸味, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宫仗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓旁仿,卻偏偏與公主長(zhǎng)得像藕夫,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枯冈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容