製作ssh登入遠端伺服器的shell指令碼
ubuntu環境需要安裝expect安裝包
sudo apt-get install expect
使用shell指令碼自動ssh登入遠端伺服器
login.sh
#!/usr/bin/expect -f
# 設定ssh連線的使用者名稱
set user liuben
# 設定ssh連線的host位址
set host 10.211.55.4
# 設定ssh連線的port埠號
set port 9999
# 設定ssh連線的登入密碼
set password admin
# 設定ssh連線的超時時間
set timeout -1
spawn ssh $user@$host -p $port
expect "*password:"
# 提交密碼
send "$password\r"
# 控制權移交
interact
# 確定login.sh指令碼有可執行許可權
chmod +x login.sh
# 執行login.sh指令碼
./login.sh
# 第二種給指令碼有可執行許可權
[root]# chmod 777 ./login.sh
[root]# ./login.sh
# 注意
不能按照習慣來用sh login.sh來這行expect的程式,會提示找不到命令,如下:
login.sh: line 3: spawn: command not found
couldn't read file "*password:": no such file or directory
login.sh: line 5: send: command not found
login.sh: line 6: interact: command not found
因為expect用的不是bash所以會報錯。因為bash和expect的指令碼指定了不同的指令碼直譯器
#!/usr/bin/expect -f
#!/bin/bash
執行的時候直接./login.sh就可以了。~切記!
ssh遠端登入伺服器
首先準備好openssh或xshell,客戶端的ssh連線方式為 ip 埠號 預設為22 伺服器端要做的準備工作是確保開啟sshd,etc init.d shhd restrat,在伺服器安裝時,可以勾選初始安裝諸如ssh server之類的元件。如未安裝,可以使用apt install ssh s...
ssh證書遠端登入伺服器
使用者名稱 主機 s password 遠端主機密碼 這樣每次登陸都得輸入密碼,好麻煩的感覺 2.下面介紹一種ssh證書不用輸密碼的方式登入 原理 把客戶端生成的公鑰,上傳到ssh伺服器,新增到指定的檔案中,這樣,就完成ssh證書登入的配置了。2.1本地機配置 生成公鑰和私鑰 ssh keygen ...
ssh免密碼登入遠端伺服器
實驗背景 在我們的實際生產中,我們很多時候需要配製成可信賴的無密碼登入環境,ssh自身的公鑰私鑰 是我們常用的選擇。實驗環境 虛擬機器vmware workstation 12 player條件下 客戶端 centos6.4的系統,系統自帶的ssh軟體,ip 192.168.0.24 netmask...