Как включить автору без пароля к удаленному серверу как другой пользователь?

Если во втором поле на входе нет длинного номера последовательности, попробуйте:

$ sed -e 's|^[^,]*|#000000000&|;s|#[^,]*\(.\{9\}\),|\1,|;s|\([0-9]\{3\}\)|\1/|g;s|/\([^0-9]\)|\1|;s|/$||' file
000/012/345,1s4c3v6s3nh6
123/456/789,9h5vgbdx34dc
000/000/012,7h4f45dcvbgh
001/234/567,09klijnmh563

Объяснение

  • s|^[^,]*|#000000000&|: мы сопоставляем все от начала до конца ,, заменяем его на создатель # и n чисел 0, где n - это длина, которую мы хотим проложить.

  • s|#[^,]*\(.\{9\}\),|\1,|: мы сопоставляем все от маркера к первому ,, сохраняем только последние 9 символов до ,, отбрасываем остальные.

  • s|\([0-9]\{3\}\)|\1/|g: добавляем / каждые 3 последовательности цифр.

  • s|/\([^0-9]\)|\1|;s|/$||: если после / нет числа или / находится в конце строки, мы удаляем его.

или проще с помощью perl:

$ perl -F',' -anle '
    $F[0] = sprintf "%09s", $F[0];
    $F[0] =~ s|.{3}|$&/|g;
    chop $F[0];
    print join ",",@F;
' file
000/012/345,1s4c3v6s3nh6
123/456/789,9h5vgbdx34dc
000/000/012,7h4f45dcvbgh
001/234/567,09klijnmh563
0
09.03.2019, 14:28
2 ответа

Попробуйте с разрешением 600 для файла authorized_keys на удаленном хосте. 644 тоже подойдет, но он не должен быть групповым и/или другим, доступным для записи.

Полезная ссылка :

https://stackoverflow.com/questions/5698665/strange-that-ssh-authorized-keys-will-not-work-if-it-is-a-chmod-of-664

0
28.01.2020, 02:37

Ваш вывод ssh -vv tom@remoteserver содержит:

debug1: Offering public key: /home/bob/.ssh/id_rsa

В этот момент клиент нашел ваш закрытый ключ и пытается с ним аутентифицироваться. - Однако сервер отказывается это сделать. Причина может быть найдена в лог-файле сервера.

Дикая догадка: у вас проблема с разрешением файлов.

Дважды проверьте правильность разрешений на сервере ls -la ~/.ssh. Еще лучше: Используйте ssh-copy-id для копирования открытого ключа на удаленный сервер. Он позаботится о правильных разрешениях.

man sshd_config говорит:

   StrictModes
          Specifies whether sshd(8) should check file modes and ownership  of  the
          user's  files  and  home directory before accepting login.  This is nor‐
          mally desirable  because  novices  sometimes  accidentally  leave  their
          directory  or  files world-writable.  The default is ``yes''.  Note that
          this does not apply to ChrootDirectory, whose permissions and  ownership
          are checked unconditionally.

В основном только сам пользователь должен иметь возможность читать/записывать на ~/.ssh.

2
28.01.2020, 02:37

Теги

Похожие вопросы