簡體   English   中英

查找是否使用PHP或Bash在遠程主機上為當前用戶的公共SSH密鑰授權了SSH

[英]Find if current user's public SSH key is authorized for SSH on remote host using PHP or Bash

我需要一個PHP腳本才能在遠程系統上執行腳本。

在遠程系統上授權當前用戶的地方,它的工作效果很好。

但是,在運行腳本之前,我想檢查本地系統上的公鑰是否在遠程系統上的authorized_keys文件中得到了authorized_keys

有沒有辦法做到這一點? 我試着執行這樣的事情:

ssh -o ConnectTimeout=5 -o PubkeyAuthentication=yes -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no -o BatchMode=yes -o ChallengeResponseAuthentication=no host.address.com 2>&1 | grep "Permission denied" 

但只要身份驗證成功,它就會掛起控制台。

您可以使用如下命令並獲取退出代碼:

ssh -q host exit

這將與主機host聯系並執行命令exit 返回代碼0表示一切正常

如果要獲取退出代碼,請在ssh之后執行

EXIT_CODE=$?

然后檢查變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM