Взгляните на http://www.pendrivelinux.com/ - у них есть установщик для помещения примерно любого дистрибутива Linux на Карте памяти.
Добавляют Ваши идентификационные данные к удаленному серверу, также создает ~/.ssh дерево с соответствующими полномочиями в случае необходимости.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
Вот немного отличающийся путь, который работает:
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 файл. Затем мы выполняем остающиеся команды.
ssh
(использование одинарных кавычек).
– Aaron D. Marasco
22.01.2012, 03:02
cat >> .ssh/authorized_keys
, таким образом, я просто установил его на строки, которые я имел, и это работало отлично. Большое спасибо!
– Marc
23.01.2012, 12:00