LINUX.ORG.RU

SSH, текущие вопросы

 


0

1

Уважаемые коллеги, подскажите, пожалуйста:

Везде пишут, что после короткой начальной настройки сервера обычно переходят на работу с ним по ssh, и физичесий доступ к серверу не требуется. В связи с этим вопрос:

Если в sshd_config после настройки доступа по ключам, отключить доступ по паролю, а потом случайно удалить authorized_keys, как потом восстановить доступ? Ну например в ситуации, когда добавляешнь публичный ключ через команду scp c windows-машины (т.к. в винде ssh-copy-id больше не работает) - то происходит не дописывание ключа в authorized_keys, а его перезапись, соответственно все открытые ключи, кроме последнего - исчезают. А дописать туда ручками тоже не получается, т.к. в виндах нет редактора файлов в командной строке, соответственно и удаленно отредактировать ничего нельзя.

Приезжать и опять подсоединять монитор и клавиатуру к серверу, или есть варианты?



Последнее исправление: kimalex (всего исправлений: 1)
Ответ на: комментарий от forest22

Можно ещё повесить атрибут +a на файл, тогда новые ключи добавлять будет можно, а старые удалять нельзя. При необходимости от рута атрибут на время снимается.

Aceler ★★★★★
()

scp c windows-машины (т.к. в винде ssh-copy-id больше не работает) - то происходит не дописывание ключа в authorized_keys, а его перезапись, соответственно все открытые ключи, кроме последнего - исчезают

а почему нельзя делать так: на машине windows

scp ... tmp_key

на сервере Linux

cat tmp_key >> authorized_keys

А дописать туда ручками тоже не получается, т.к. в виндах нет редактора файлов в командной строке, соответственно и удаленно отредактировать ничего нельзя

Ничего не понял, доступ же по ssh есть, что мешает править удаленно?

pavel_l
()

Уважаемые коллеги, подскажите, пожалуйста:

Уважаемы коллега, подсказываю

Везде пишут, что после короткой начальной настройки сервера обычно переходят на работу с ним по ssh, и физичесий доступ к серверу не требуется.

да, это делают монтажники, крутят железо и подключают кабеля

В связи с этим вопрос:

Если в sshd_config после настройки доступа по ключам, отключить доступ по паролю, а потом случайно удалить authorized_keys, как потом восстановить доступ?

Перезагрузить рабочим образом.

Если ручками - сетевая консоль

Ну например в ситуации, когда добавляешнь публичный ключ через команду scp c windows-машины (т.к. в винде ssh-copy-id больше не работает) - то происходит не дописывание ключа в authorized_keys, а его перезапись, соответственно все открытые ключи, кроме последнего - исчезают.

scp и ssh-copy-id - не одно и тоже

лови замену:


type C:\Users\<USER>/.ssh/id_rsa.pub | ssh user@ip "cat >> ~/.ssh/authorized_keys"


А дописать туда ручками тоже не получается, т.к. в виндах нет редактора файлов в командной строке, соответственно и удаленно отредактировать ничего нельзя.

authorized_keys - на сервере

Приезжать и опять подсоединять монитор и клавиатуру к серверу, или есть варианты?

А если потерял ключи от хаты, а дома никого - надо вызывать окрывашку?

anonymous
()

в виндах нет редактора файлов в командной строке

Ещё виндовые файловые редакторы свои переносы строк ставят (в новых файлах), которые могут неправильно читаться потом

NyXzOr ★★★★
()
Ответ на: комментарий от kimalex

Если доступ идет с виндовс-машины - нет не vim, ни nano, винда вообще же,, вроде не поддерживает редактирование файлов вмеомандной строке

а что - ed | edit всё? ))

anonymous
()
Ответ на: комментарий от anonymous

Заходил на Ubuntu с виндов, думал, что добавил public key, а по факту убил уже все существующие ключи,уехал, уже утром понял, что больше ни с одой машины зайти не могу. А возвращаться к тому ноуту - несколько часов ехать

kimalex
() автор топика

а потом случайно удалить authorized_keys, как потом восстановить доступ?

Давай для разнообразия представим ещё, что делать, если случайно удалишь /bin/bash. Или удалишь ядро и ребутнешься.

Не надо удалять важные файлы, да. И рассматривать всерьёз такие ситуации тоже ни к чему. Если испортил что-то такое то может потребоваться физический доступ к компу, тут ничего удивительного.

firkax ★★★★★
()
Ответ на: комментарий от kimalex

опять подсоединять монитор и клавиатуру к серверу, или есть варианты?

А возвращаться к тому ноуту - несколько часов ехать

определитесь

anonymous
()
Ответ на: комментарий от kimalex

т.е. ты потерял доступ на машину с Ubuntu. Тогда какая, нафиг, разница с какой машины ты заходишь? Ты в любом случае заходишь на линуксовую машину. А там целая толпа утилит способных редактировать текстовые файлы в консоли. Венда и её возможности/невозоможности тут вообще не причём.

anonymous
()
Ответ на: комментарий от kimalex

Ну я уже на двух виндовых форумах спрашивал. Говорят - по SSH, без графической оболочки - никак, это не линукс

Ну ты б ещё на мамском спросил.

Aceler ★★★★★
()
Ответ на: комментарий от kimalex

Ну я уже на двух виндовых форумах спрашивал

У тебя бардак в голове.
Подключившись к машине , ты имеешь всё что есть на ней и ничего что есть на локальной машине.

bloodmeri
()

т.к. в винде ssh-copy-id больше не работает

ssh поставляется, например, вместе с Git for Windows

ssh-copy-id там также присутствует и все работает довольно неплохо с идущим в комплекте mingw bash terminal’ом

alx777 ★★
()

А ты попробуй не отключать доступ по паролю, а просто использовать нормальные пароли. Говорят, помогает :-) В крайнем случае напиши PermitRootLogin prohibit-password и всего то

no-dashi-v2 ★★★
()
Ответ на: комментарий от kimalex

я рецепт дал. openssh в 10 венде уже тоже был. plink в putty всю жизнь был.
ещё можно в венде включить в возможностях/features WSL и вообще иметь свой линукс внутри венды. там всё есть точно.

и cat a_k|ssh srv «cat >>.ssh/a_k» точно можно без проблем сделать

mumpster ★★★★★
()

случайно удалить authorized_keys

Потом уже не надо ничего восстанавливать, сразу вон из профессии! (%

А дописать туда ручками тоже не получается, т.к. в виндах нет редактора файлов в командной строке, соответственно и удаленно отредактировать ничего нельзя.

А на стороне сервера открыть текстовый редактор и дописать религия не позволяет?

Ну или, если уж scp, то:

win: scp file.txt user@server:/home/user/.ssh/authorized_keys.NEW
win: ssh user@server
server: cd ~/.ssh
server: cat authorized_keys.NEW >> authorized_keys
server: rm authorized_keys.NEW
server: ^D
mord0d ★★★★★
()