Узнайте, авторизован ли открытый SSH-ключ текущего пользователя для SSH на удаленном хосте с использованием PHP или Bash. - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужен сценарий PHP для выполнения сценария в удаленной системе.

Это прекрасно работает, когда текущий пользователь авторизован в удаленной системе.

Однако, прежде чем запускать сценарий,Я хочу проверить, авторизован ли открытый ключ в локальной системе в файле 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" 

, но при успешной аутентификации консоль просто зависает.

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете использовать команду, подобную этой, и получить код выхода:

ssh -q host exit

Это свяжется с хостом host и выполнит команду exit.Код возврата 0 означает, что все в порядке

Если вы хотите получить код выхода, выполните после ssh

EXIT_CODE=$?

, а затем проверьте переменную

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...