通過ssh 的proxycommand,建立關係,用paramiko模組,呼叫proxycommand方法
一、通過一台跳板機免密 (a主機 b跳板機 c主機)
做好a免密登入b,b免密登入c ,
a主機~/.ssh下新增檔案b_private,內容為b的私鑰
a主機~/.ssh下增加config檔案,內容為
host c主機ip
user gcp
port 22
identityfile=~/.ssh/b_private
proxycommand ssh -w %h:%p b主機ip
二、通過多台跳板機免密 ( a主機 b跳板機 c跳板機 d主機)
做好a免密登入242,242免密登入38,38免密登入136,
a主機~/.ssh下新增檔案33的私鑰
a主機~/.ssh下新增檔案22的私鑰
a主機~/.ssh下新增檔案111的私鑰
a主機~/.ssh下增加config檔案,內容為
host go33
hostname 172.**.**.***
user csdn
identityfile ~/.ssh/id_rsa.name.***
forwardx11 no
stricthostkeychecking no
forwardagent yes
userknownhostsfile /dev/null
host go22
hostname 172.**.**.**
user csdn
identityfile ~/.ssh/id_rsa.soft.**
forwardx11 no
stricthostkeychecking no
userknownhostsfile /dev/null
proxycommand ssh -w %h:%p csdn@go33
host go111
hostname 192.***.**.***
user csdn
identityfile ~/.ssh/id_rsa.software.***
forwardx11 no
stricthostkeychecking no
userknownhostsfile /dev/null
proxycommand ssh -w %h:%p csdn@go22
生成金鑰ssh-keygen -t rsa -f id_rsa.name
上傳金鑰ssh-copy-id -i ~/.ssh/id_rsa.name.pub [email protected]
多個使用者需要免密登入時:
如果伺服器的目錄中沒有authorized_keys 檔案,只需要將id_rsa.pub公鑰檔案的名稱更改為authorized_keys,如果已經有了authorized_keys檔案,使用 「>>」重定向符將使用者公鑰追加到authorized_keys檔案中即可。
附:config配置詳解:
python paramiko 各種錯誤
這個錯誤出現在伺服器接受連線但是ssh守護程序沒有及時響應的情況 預設是15s 要解決這個問題,需要將paramiko的響應等待時間調長。transport.py中def init 初始化函式中 how long seconds to wait for the ssh banner self.ban...
Python Paramiko模組的使用
windows下有很多非常好的ssh客戶端,比如putty。在python的世界裡,你可以使用原始套接字和一些加密函式建立自己的ssh客戶端或服務端,但如果有現成的模組,為什麼還要自己實現呢。使用paramiko庫中的pycrypto能夠讓你輕鬆使用ssh2協議。paramiko的安裝方法網上有很多...
python paramiko 遠端操作linux
遠端執行linux命令等 paramiko import traceback import paramiko as param,time,re from scp import scpclient ssh param.sshclient ssh.set missing host key policy ...