Может быть, этот «пароль пользователя Apple» является паролем вашего набора ключей, который содержит закрытый ключ к открытому ключу, с которым вы проходите аутентификацию?
Теперь вы хотите использовать эту пару ключей -для аутентификации по адресу hutber@192.168.205.130
Таким образом, чтобы удалить этот пароль, вам придется создать новый ключ без защиты паролем. Это можно сделать с помощью упомянутого кейгена ssh -.
Также вы можете посмотреть, как использовать узлы перехода с конфигурацией ssh -в случае, если это применимо к вашей локальной машине:https://ma.ttias.be/use-jumphost-ssh-client-configurations/
Я бы использовал подстановку команд вместо конвейера. На машине с Linux я бы использовал:
curl "http://my.api.com?query=$(curl https://api.ipify.org?format=json | grep -oP 'ip":"\K[0-9.]+')"
И на машине, на которой нет инструментов GNU (, например. macOS ), один из:
curl "http://my.api.com?query=$(curl https://api.ipify.org?format=json | sed -E 's/.*ip":"([0-9.]+).*/\1/')"
Или даже
curl "http://my.api.com?query=$(curl https://api.ipify.org?format=json 2>/dev/null | tr -d '"' | sed 's/.*ip:\([0-9.]*\).*/\1/')"
curl 'https://api.ipify.org?format=json' | jq -r '.ip'
Это будет использовать jq
для извлечения значения, связанного с ключом ip
верхнего уровня -в ответе JSON из curl
.
Затем вы можете использовать это, чтобы сделать другой curl
вызов:
ipaddr=$( curl 'https://api.ipify.org?format=json' | jq -r '.ip' )
curl "http://my.api.com?query=$ipaddr"
Также обратите внимание, что URL-адреса всегда должны заключаться в кавычки в командной строке, поскольку они могут содержать ?
и &
и другие символы, которые интерпретатор интерпретирует особым образом.
jq
доступен через Homebrew в macOS.
Или вы могли бы , как предлагает pLumo в комментариях , просто не запрашивать ответ в формате JSON отapi.ipfy.org
:
ipaddr=( curl 'https://api.ipify.org' )
curl "http://my.api.com?query=$ipaddr"