2016-07-15 4 views
1

Я использую компьютер Mac, и мне нужно подключиться к удаленной машине (Linux) и удалить содержимое каталога на удаленном компьютере. Пробовал с использованиемУдалить каталог на удаленном компьютере с помощью сценария оболочки

ssh [email protected] rm -rf testdir 

Он запрашивает у меня пароль в терминале. Есть ли способ, по которому я могу удалить содержимое каталога без необходимости вручную вводить пароль для удаленной машины? Я хочу сделать это с помощью сценария оболочки. Поскольку я новичок в shell, любая помощь будет оценена по достоинству.

ответ

1
ssh [email protected] "rm -rf testdir" #suggest you quote the command 

выглядит хорошо.

Вы можете обходить приглашение пароля с помощью указанных шагов: [ here ].

+0

Я сгенерировал ключи, используя ssh-keygen. Однако при копировании открытого ключа на удаленный хост с использованием ssh-copy-id я получаю '-bash: ssh-copy-id: command not found error'. Любая мысль? – Harish

+1

@Harish использовать scp для копирования ключа вручную 'scp/local/machine/path/to/public_key root @ server-address: ~/.ssh/authorized_keys'. – sjsam

+0

@Harish: Дайте мне знать, если это работает – sjsam

1

Чтобы выполнить регистрацию SSH без ввода пароля, вы должны использовать ssh-keygen.
См., Например, here. Тогда ваша команда o.k.

+0

Я сгенерировал ключи, используя ssh-keygen. Однако при копировании открытого ключа на удаленный хост с использованием ssh-copy-id я получаю '-bash: ssh-copy-id: command not found error'. Любая мысль? – Harish

+1

Какая ОС вы используете? Он должен быть установлен по умолчанию ... Однако, в качестве альтернативы, вы могли бы вручную скопировать содержимое своего открытого ключа 'id_rsa.pub' в файл ~/.ssh/authorized_keys на сервере, в папку« .ssh »в дома пользователя, которого вы используете для подключения ('/ root/.ssh/authorized_keys' в этом случае). – MarcoS

+0

Команда ssh-copy-id заканчивается ошибкой. Однако ручное копирование открытого ключа делало трюк для меня. Спасибо за помощь – Harish

Смежные вопросы