佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ssh自動(dòng)登錄的4種實(shí)現(xiàn)方法

ssh自動(dòng)登錄的4種實(shí)現(xiàn)方法

熱門標(biāo)簽:AI電銷 百度競價(jià)排名 服務(wù)外包 網(wǎng)站排名優(yōu)化 呼叫中心市場需求 鐵路電話系統(tǒng) 地方門戶網(wǎng)站 Linux服務(wù)器

1. 自動(dòng)ssh/scp方法

A為本地主機(jī)(即用于控制其他主機(jī)的機(jī)器) ;
B為遠(yuǎn)程主機(jī)(即被控制的機(jī)器Server), 假如ip為192.168.60.110;
A和B的系統(tǒng)都是Linux

在A上運(yùn)行命令:
# ssh-keygen -t rsa (連續(xù)三次回車,即在本地生成了公鑰和私鑰,不設(shè)置密碼)
# ssh root@192.168.60.110 "mkdir .ssh" (需要輸入密碼)
# scp ~/.ssh/id_rsa.pub root@192.168.60.110:.ssh/id_rsa.pub (需要輸入密碼)

在B上的命令:
# touch /root/.ssh/authorized_keys (如果已經(jīng)存在這個(gè)文件, 跳過這條)
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (將id_rsa.pub的內(nèi)容追加到authorized_keys 中)

回到A機(jī)器:
# ssh root@192.168.60.110 (不需要密碼, 登錄成功)

2. 控制n個(gè)機(jī)器如上所述自動(dòng)登錄

那就需要n對鑰匙(密鑰和公鑰), ssh-keygen 命令可以隨意更改鑰匙對的名字, 比如:
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_192.168.60.110

這樣私鑰和公鑰的名字分別就是: id_rsa_192.168.60.110和 id_rsa_192.168.60.110.pub;然后將 id_rsa_192.168.60.110.pub 文件的內(nèi)容, 追加到sever的 ~/.ssh/authorized_keys文件中,最后, 在本地用ssh命令的 -i 參數(shù)指定本地密鑰, 并登錄:
# ssh -i /root/.ssh/id_rsa_192.168.60.110 someone@192.168.60.110

scp也是一樣的
# scp -i /root/.ssh/id_rsa_192.168.60.110 filename someone@192.168.60.110:/home/someone

在文件.bashrc中加下兩行,每次做同樣的操作就不用敲入這樣長的命令了:
alias sshcell='ssh -i /root/.ssh/id_rsa_192.168.60.110 someone@192.168.60.110'
alias scpcell='scp -i /root/.ssh/id_rsa_192.168.60.110 filename someone@192.168.60.110:/home/someone'

這樣,直接鍵入一下指令實(shí)現(xiàn)ssh和scp自動(dòng)登錄:
# sshcell
# scpcell

3. 自動(dòng)ssh/scp腳本

如果需要從A,到B,然后才能夠到C,那么需要ssh和scp兩次,是比較麻煩的。
ssh自動(dòng)登錄:
#!/usr/bin/expect -f
set timeout 30
spawn ssh weiqiong@B
expect "password:"
send "ppppppr"
expect "]*"
send "ssh weiqiong@Cr"
expect "password:"
send "ppppppr"
interact

scp從A拷貝文件到C:
#!/usr/bin/expect -f
set timeout 300
set file [lindex $argv 0]
spawn scp $file weiqiong@B:/home/weiqiong
expect "password:"
send "ppppppr"
expect "]*"
spawn ssh weiqiong@B
expect "password:"
send "ppppppr"
expect "]*"
send "scp $file weiqiong@C:/home/weiqiongr"
expect "password:"
send "ppppppr"
expect "]*"
exit
interact

scp從C拷貝文件到A:
#!/usr/bin/expect -f
set timeout 300
set file [lindex $argv 0]
spawn ssh weiqiong@B
expect "password:"
send "ppppppr"
expect "]*"
send "scp weiqiong@C:/home/weiqiong/$file .r"
expect "password:"
send "ppppppr"
expect "]*"
send "exitr"
expect "]*"
spawn scp weiqiong@B:/home/weiqiong/$file .
expect "password:"
send "ppppppr"
interact

4. 建立ssh/scp通道

比如說我的機(jī)器是A,中間服務(wù)器為B,目標(biāo)服務(wù)器是C
從A可以ssh到B,從B可以ssh到C,但是A不能直接ssh到C
現(xiàn)在展示利用ssh通道技術(shù)從A直接傳輸文件到C

1. ssh -L1234:C:22 userid@B
input B's password
(1234是本機(jī)A的空閑端口,該指令需要A機(jī)器上的root用戶權(quán)限,實(shí)際上是在本機(jī)1234端口建立了一個(gè)通道)

2. 打開一個(gè)新的console,鍵入:
scp -P1234 filename userid@localhost:
input C's password

您可能感興趣的文章:
  • Windows上SSH服務(wù)器配置圖文教程
  • windows 7架設(shè)OpenSSH服務(wù)器實(shí)踐
  • python通過ssh-powershell監(jiān)控windows的方法
  • Windows系統(tǒng)下安裝Python的SSH模塊教程
  • windows7下安裝php的php-ssh2擴(kuò)展教程
  • ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例
  • python paramiko實(shí)現(xiàn)ssh遠(yuǎn)程訪問的方法
  • Python實(shí)現(xiàn)建立SSH連接的方法
  • 簡單架設(shè)SSH+Squid代理服務(wù)器的自由上網(wǎng)通道的方法
  • 關(guān)于ssh連不上問題的解決方法(必看)
  • SSH框架網(wǎng)上商城項(xiàng)目第30戰(zhàn)之項(xiàng)目總結(jié)(附源碼下載地址)
  • 關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
  • SSH+Jquery+Ajax框架整合
  • Ubuntu下查看ssh服務(wù)是否安裝或啟動(dòng)的方法
  • ssh連接超時(shí)解決方法
  • PowerShell小技巧之嘗試ssh登錄
  • shell腳本實(shí)現(xiàn)ssh自動(dòng)登錄功能分享
  • linux系統(tǒng)下的ssh登錄和配置方法
  • Linux ssh遠(yuǎn)程連接斷開問題處理辦法解決
  • python使用paramiko模塊實(shí)現(xiàn)ssh遠(yuǎn)程登陸上傳文件并執(zhí)行
  • 無需密碼通過ssh執(zhí)行rsync來同步文件的方法
  • ubuntu16.04下安裝openssh-server報(bào)依賴錯(cuò)誤的完美解決方法(非常不錯(cuò))
  • windows安裝openssh并通過生成SSH密鑰登錄Linux服務(wù)器

標(biāo)簽:衡水 湖南 崇左 蘭州 黃山 湘潭 銅川 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ssh自動(dòng)登錄的4種實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    志丹县| 兴海县| 平潭县| 乌苏市| 白朗县| 枣庄市| 富阳市| 横山县| 石阡县| 兰考县| 东阳市| 碌曲县| 望江县| 晴隆县| 天祝| 随州市| 鹤峰县| 犍为县| 尼勒克县| 泰宁县| 乳山市| 镇赉县| 东兰县| 赫章县| 嘉禾县| 聊城市| 上杭县| 抚州市| 鄂托克旗| 河间市| 永济市| 囊谦县| 汉川市| 大连市| 饶平县| 马边| 界首市| 恩施市| 南部县| 汽车| 周口市|