Во-первых, я не думаю, что существует строгий ответ; другой adminstrators будет иметь различные мнения, согласно их образованию. Исторически, /usr/local
был на первом месте; это была конвенция в Berkley, IIRC. Однажды во время разработки System V, если я не ошибаюсь (это - все давным-давно, и я не сделал заметки), было решение или требование смочь смонтироваться /usr
только для чтения, который означал, Вы не могли добавить новое программное обеспечение к нему; это, возможно, было то, почему /opt
был изобретен. Как это происходит, было именно так много существующего программного обеспечения, которое действительно писало в /usr
то, что та идея, никогда действительно успешно начатая.
Мое персональное предпочтение /opt
, с отдельным подкаталогом для каждого продукта; это делает удаление продукта простым случаем rm -fr
. Но если все Ваше программное обеспечение установлено через хороший диспетчер пакетов, не имеет значения, и если программное обеспечение, которое Вы устанавливаете, строго не повинуется этим конвенциям и пишет конфигурации и такой где-нибудь под /usr
, это не имеет значения также, хотя по противоположным причинам.
Вам нужен Ваш открытый ключ SSH, и Вам будет нужен Ваш ssh закрытый ключ. Ключи могут быть сгенерированы с ssh-keygen
. Закрытый ключ должен быть сохранен на Сервере 1, и открытый ключ должен быть сохранен на Сервере 2.
Это - completly, описанный в странице справочника openssh, таким образом, я заключу многое в кавычки из него. Необходимо считать раздел 'Authentication'. Также openSSH руководство должно быть действительно полезным: http://www.openssh.org/manual.html
Будьте осторожны с ssh, потому что это влияет на безопасность Вашего сервера.
От man ssh
:
~/.ssh/identity
~/.ssh/id_dsa
~/.ssh/id_rsa
Contains the private key for authentication. These files contain
sensitive data and should be readable by the user but not acces-
sible by others (read/write/execute). ssh will simply ignore a
private key file if it is accessible by others. It is possible
to specify a passphrase when generating the key which will be
used to encrypt the sensitive part of this file using 3DES.
~/.ssh/identity.pub
~/.ssh/id_dsa.pub
~/.ssh/id_rsa.pub
Contains the public key for authentication. These files are not
sensitive and can (but need not) be readable by anyone.
Это означает, что можно сохранить закрытый ключ в корневом каталоге в .ssh. Другая возможность состоит в том, чтобы сказать ssh через -i
переключатель параметра для использования специального файла идентификационных данных. Также от man ssh
:
-i identity_file
Selects a file from which the identity (private key) for RSA or
DSA authentication is read. The default is ~/.ssh/identity for
protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro-
tocol version 2. Identity files may also be specified on a per-
host basis in the configuration file. It is possible to have
multiple -i options (and multiple identities specified in config-
uration files).
Это для закрытого ключа. Теперь необходимо представить открытый ключ на Сервере 2. Снова кавычка от man ssh
:
~/.ssh/authorized_keys
Lists the public keys (RSA/DSA) that can be used for logging in
as this user. The format of this file is described in the
sshd(8) manual page. This file is not highly sensitive, but the
recommended permissions are read/write for the user, and not
accessible by others.
Самый легкий путь к achive, который должен скопировать файл в Сервер 2 и добавить его в authorized_keys файл:
scp -p your_pub_key.pub user@host:
ssh user@host
host$ cat id_dsa.pub >> ~/.ssh/authorized_keys
Авторизация через открытый ключ должна быть позволена для ssh демона, видеть man ssh_config
. Обычно это может быть сделано путем добавления следующего утверждения к файлу конфигурации:
PubkeyAuthentication yes
Добавьте открытый ключ (id_[rd]sa.pub
) для Вашей исходной машины (откуда Вы - sshing) до ~/.ssh/authorized_keys
файл целевого сервера для имени пользователя Вы хотите к ssh в. При потере открытого ключа Вы захотите создать новый с ssh-keygen
. Используя параметры по умолчанию для этого должен быть хорошо для большинства целей. При необходимости в более подробных инструкциях существуют тысячи учебных руководств, которые можно погуглить.
Первая вещь, которую необходимо будет сделать, удостоверяются, что Вы выполнили команду keygen для генерации ключей:
ssh-keygen -t rsa
Затем используйте эту команду для продвижения ключа к удаленному серверу, изменяя его для соответствия имени сервера.
cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
Я использовал ssh с опцией -i, чтобы добавить сюда ваш ключ.
Если вы хотите передать аргументы arg1, arg2 с файлом .sh, просто передайте его после файла .sh и используйте пробел для его разделения.
ssh -i home / avr / new.pem (скрытый) "/var/www/beta/betatolive.sh mmin 30"
ssh-copy-id -- use locally available keys to authorise logins on a remote machine
Используйте ssh-copy-id
на сервере 1, предполагая, что у вас есть пара ключей (, сгенерированная с помощью ssh-keygen
):
ssh-copy-id -i ~/.ssh/id_rsa user@server2_hostname
Теперь вы сможете подключиться к серверу 2 по протоколу ssh, используя закрытый ключ
ssh -i ~/.ssh/id_rsa user@server2_hostname
Действительно, если вы отметите cat ~/.ssh/authorized_keys
на сервере 2, вы увидите, что открытый ключ добавлен для вас.
ssh -i keyfile
Чистый металл спасибо! – Aivan Monceller 25.10.2011, 23:59ssh-copy-id
:ssh-copy-id -i ~/.ssh/foo.id_rsa remote.example.com
. – Gilles 'SO- stop being evil' 26.10.2011, 10:09ssh-add
после создания ключа на компьютере Вы соединяетесь от. именно это вызывает головную боль большинству людей. – Luka 20.09.2017, 00:49