Палата9

Вы здесь: Главная > Все блоги > "Паяльник" > Linux: доступ по ssh без пароля


Linux: доступ по ssh без пароля

AuthenticAMD

25 блогов

5667 комментариев

В сети

Создан: 19.02.2015 19:15


Этот текст скрыт от госей!




Иногда необходимо иметь доступ к удаленной машине через ssh без необходимости ввода пароля пользователя. Это может понадобиться, например, для организации автоматического резервного копирования на удаленный хост (или из виртуальной машины в хост или наоборот). Кроме того, это может быть полезным при организации т.н. "тонкого клиента", когда приложения запускаются где-нибудь на сервере, а окно приложения открывается на клиенте. Т.е. все вычисления, затраты ресурсов (например, оперативной памяти) происходят на сервере, а вывод - на более слабой клиентской машине. Так же это удобно для администрирования удаленной машины.
Вот, например, файловый менеджер другого компьютера, открытый на стороне клиента:

При этом права (на запись, исполнение и т.д.) даются от имени того пользователя, к которому мы подключились (может быть и root).
Для доступа по ssh без пароля можно использовать публичный ключ, который генерируется командой ssh-keygen Вывод будет следующим:

Code:



~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/victor/.ssh/id_rsa):


Сразу жмем ввод и в папке ~/.ssh создадутся файлы id_rsa и id_rsa.pub .
Содержимое второго файла необходимо копировать в файл ~/.ssh/authorized_keys на удаленной машине, к которой мы хотим соединяться. При этом ключей может быть несколько от разных машин. И так же публичный ключ можно распространять на несколько машин. Права у файла должны быть не выше 600 (chmod 600 [файл] ).

После этого, при наборе в терминале ssh [user] @ [host] (где [user] - имя пользователя удаленной машины; [host] - например, ip адрес удаленной машины) мы попадаем в консоль удаленного хоста без ввода пароля.
Для запуска приложения можно набрать ssh [user] @ [host] " [приложение] " (например, ssh user@192.168.0.1 "nautilus", или создать кнопку запуска ("ярлык" приложения - файл с расширением *.desktop с примерно таким содержимым (запуск удаленного файлового менеджера):

Code:



[Desktop Entry]
Comment[ru]=
Comment=
Exec=ssh victor@192.168.0.71 "nautilus"
GenericName[ru]=
GenericName=
Icon=folder_international2
MimeType=
Name[ru]=Файловый менеджер хоста
Name=Файловый менеджер хоста
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=


...где вызов нужной команды указывается в строке "Exec=".



Показаны последние комментарии

Linux: доступ по ssh без пароля

19.02.2015 19:15

#1


Этот текст скрыт от госей!




Иногда необходимо иметь доступ к удаленной машине через ssh без необходимости ввода пароля пользователя. Это может понадобиться, например, для организации автоматического резервного копирования на удаленный хост (или из виртуальной машины в хост или наоборот). Кроме того, это может быть полезным при организации т.н. "тонкого клиента", когда приложения запускаются где-нибудь на сервере, а окно приложения открывается на клиенте. Т.е. все вычисления, затраты ресурсов (например, оперативной памяти) происходят на сервере, а вывод - на более слабой клиентской машине. Так же это удобно для администрирования удаленной машины.
Вот, например, файловый менеджер другого компьютера, открытый на стороне клиента:

При этом права (на запись, исполнение и т.д.) даются от имени того пользователя, к которому мы подключились (может быть и root).
Для доступа по ssh без пароля можно использовать публичный ключ, который генерируется командой ssh-keygen Вывод будет следующим:

Code:



~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/victor/.ssh/id_rsa):


Сразу жмем ввод и в папке ~/.ssh создадутся файлы id_rsa и id_rsa.pub .
Содержимое второго файла необходимо копировать в файл ~/.ssh/authorized_keys на удаленной машине, к которой мы хотим соединяться. При этом ключей может быть несколько от разных машин. И так же публичный ключ можно распространять на несколько машин. Права у файла должны быть не выше 600 (chmod 600 [файл] ).

После этого, при наборе в терминале ssh [user] @ [host] (где [user] - имя пользователя удаленной машины; [host] - например, ip адрес удаленной машины) мы попадаем в консоль удаленного хоста без ввода пароля.
Для запуска приложения можно набрать ssh [user] @ [host] " [приложение] " (например, ssh user@192.168.0.1 "nautilus", или создать кнопку запуска ("ярлык" приложения - файл с расширением *.desktop с примерно таким содержимым (запуск удаленного файлового менеджера):

Code:



[Desktop Entry]
Comment[ru]=
Comment=
Exec=ssh victor@192.168.0.71 "nautilus"
GenericName[ru]=
GenericName=
Icon=folder_international2
MimeType=
Name[ru]=Файловый менеджер хоста
Name=Файловый менеджер хоста
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=


...где вызов нужной команды указывается в строке "Exec=".


Так!


Linux: доступ по ssh без пароля

19.02.2015 19:25

#2


Каждому своё


Linux: доступ по ssh без пароля

19.02.2015 19:38

#3


Хочу водки и приключений ;)