Это немного сложнее. Клиент предлагает все доступные ключи, и после того, как несколько из них терпят неудачу, он отказывается полностью.
Вы можете увидеть это в подробном журнале, если добавите -vvv
в командную строку. Использование -o IdentitiesOnly=yes
может помочь.
Также это может помочь уменьшить количество ключей в вашем локальном ssh-агенте
.
Последнее, о чем я могу думать, это переместить этот id_rsa
из расположения по умолчанию (клиент всегда читает файлы в расположении по умолчанию, и его нельзя отключить) и настроить в ~ /.ssh/config
, что он будет использоваться только на тех хостах, где он вам нужен.
$PWD
— это текущий каталог, а не каталог, содержащий скрипт. Нет причин, по которым inner.sh
должен находиться в текущем каталоге.
Путь к скрипту хранится в $0
. Вы можете извлечь его часть каталога, чтобы найти каталог, содержащий скрипт.
script_directory=$(dirname -- "$0")
"$script_directory/inner.sh"