Это все sed
работа, дополнительные инструменты не нужны:
Допустим, вы хотите добавить foo
в конце строки, содержащей f
и bar
в конце строк без f
, но с b
sed '/f/{
s/$/foo/
b
}
/b/s/$/bar/'
Вы можете «адресовать» строки с помощью /pattern/
, поэтому следующие команды выполняются только в том случае, если они содержат шаблон. Таким образом, в примере только строки, содержащие f
, вызывают выполнение замены s
, а командыb
(и {}
группируют команды, поэтому все внутри применяется только в том случае, если адрес совпадает. b
переходит в конец скрипта, чтобы избежать добавления другой строки для соответствия b
.
Другой подход без разветвления:
sed '/f/s/$/foo/;s/^[^f]*b[^f]*$/&bar/'
В качестве упражнения вы можете понять это самостоятельно, обладая некоторыми sed
знаниями, используя man sed
при необходимости.
Итак, я нашел решение этой проблемы. Я пошел в
sudo nano /etc/ssh/sshd_config
и изменено PasswordAuthentication no
наPasswordAuthentication yes
и PermitRootLogin no
–PermitRootLogin yes
Затем после запуска sudo systemctl restart sshd
и запуска ssh user@IP_address
все заработало.