Продолжите команды оболочки, однажды подключенные к SSH

Взгляните на http://www.pendrivelinux.com/ - у них есть установщик для помещения примерно любого дистрибутива Linux на Карте памяти.

7
23.01.2012, 01:03
2 ответа

Добавляют Ваши идентификационные данные к удаленному серверу, также создает ~/.ssh дерево с соответствующими полномочиями в случае необходимости.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
5
27.01.2020, 20:16
  • 1
    Ничего себе... Я понятия не имел, что это существовало. Здорово. –  Marc 23.01.2012, 12:05

Вот немного отличающийся путь, который работает:

setup_ssh() {
  cat ~/.ssh/id_rsa.pub | ssh $1 '
    mkdir .ssh;
    cat >> .ssh/authorized_keys;
    chmod go-w .;
    chmod 700 .ssh;
    chmod 600 .ssh/authorized_keys
  '
}

Вы могли также избавиться от cat и имейте канал оболочки в своем id_rsa.pub файле, но я думаю, что этого достаточно для получения Вас движение.

Править:
Путем это работает
Вы являетесь в основном начинающими новая оболочка на удаленном хосте для выполнения команд, которым Вы передали ssh (в кавычках). Когда это добирается до cat >> .ssh/authorized_keys часть, ничто еще не читало из STDIN, таким образом, данные из cat ~/.ssh/id_rsa.pub все еще находится там. cat считывает данные с STDIN, и затем мы перенаправляем это в новый authorized_keys файл. Затем мы выполняем остающиеся команды.

9
27.01.2020, 20:16
  • 1
    Ключ - то, что все команды, на которых будут работать удаленная машина, являются параметрами к ssh (использование одинарных кавычек). –  Aaron D. Marasco 22.01.2012, 03:02
  • 2
    Большое спасибо это работало отлично. По некоторым причинам это упорно продолжило бы cat >> .ssh/authorized_keys, таким образом, я просто установил его на строки, которые я имел, и это работало отлично. Большое спасибо! –  Marc 23.01.2012, 12:00
  • 3
    На самом деле я оказываюсь перед необходимостью идти с ответом ниже. не знал, что это было уже реализовано. –  Marc 23.01.2012, 12:06
  • 4
    @Marc его плохой этикет для радикального изменения ответа someones как этот. Решение, которое я предложил, устранило необходимость ввода пароля многократно, устранило необходимость того, что она имела временный файл и удалило лишние команды. –  Patrick 26.02.2012, 00:37
  • 5
    Жаль Patrick. Я действительно должен был добавить его в конец сообщения. Я полностью понимаю все же. –  Marc 28.02.2012, 03:10

Теги

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