Con GNU awk
, puede hacerlo en una sola invocación de comando:
gawk -i inplace -F_ -v OFS=_ '
BEGINFILE {
node = FILENAME
sub(".*/", "", node)
sub("_.*", "", node)
}
$1 == ">NODE" {$1 = ">" node}
{print}'./p*_*.fasta
Когда вы подключаетесь по SSH, клиент сначала проверяет, что будет приемлемо для сервера. То есть он спрашивает, является ли конкретный ключ приемлемым , прежде чем он действительно попытается войти в систему. Это означает, что если конкретный ключ неприемлем, клиент даже не будет пытаться его использовать.
Судя по вашим свидетельствам, наиболее вероятно, что ваш файл authorized_keys
настроен на публичное чтение, а в вашей конфигурации указано значение по умолчанию # StrictModes yes
. Он также указывает # PasswordAuthentication yes
. Таким образом, аутентификация ключа отклоняется сервером, и вместо этого у вас запрашивается пароль. Чтобы исправить это, измените две вещи.
1 Измените разрешения наauthorized_keys
:
chmod go-rwx ~/.ssh/authorized_keys
2 Отключить аутентификацию по паролю в/etc/ssh/sshd_config
:
PasswordAuthentication no
Вы правильно настроили конфигурацию, чтобы запретить вход в систему root.
Похоже, вам нужно установить права доступа к файлу authorized_keys
администратора на 600.