Я обычно удаленный вход на сервер в моей школе. У меня есть имя пользователя и пароль. Это команда 'ssh -l username -p port machineName'. (имя пользователя - мое, порт - номер, а machineName - машины в школе). Я назначил эту команду псевдониму log, но когда я вхожу в систему, он всегда запрашивает пароль. Можно ли как-нибудь заставить мой псевдоним ввести пароль и после команды?
2 ответа
Если он включен для вашей установки ssh
, вы должны выполнить процедуру создания так называемых открытых зашифрованных ключей, а затем использовать эти ключи для автоматического входа в систему. Это довольно простая процедура, и вы должны быть в состоянии обойти весь вопрос ввода пароля.
Поищите в сети поисковую фразу "генерация пар ключей RSA SSH", чтобы найти множество страниц, описывающих этот процесс. Вот только одна такая ссылка.
Я обычно не использую парольную фразу. Я позволю другим комментаторам предоставить любое оправдание, чтобы сделать обратное.
whmcclos@mbp-wireless:~
[8] ls -ld ~/.ssh
drwx------+ 2 whmcclos staff 68 Feb 4 09:05 /Users/whmcclos/.ssh
whmcclos@mbp-wireless:~
[9] ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/whmcclos/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/whmcclos/.ssh/id_rsa.
Your public key has been saved in /Users/whmcclos/.ssh/id_rsa.pub.
The key fingerprint is:
77:93:ef:57:40:7d:ef:9b:6e:99:4a:a3:8a:8b:81:a9 whmcclos@Williams-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . o|
| . o|
| .. .|
| S . + o |
| o . . o o|
| o . o. *|
| . o . o..*.|
| E . o.... .=o |
+-----------------+
whmcclos@mbp-wireless:~
[10] ls -l .ssh
total 8
-rw-------+ 1 whmcclos staff 1679 Feb 4 09:06 id_rsa
-rw-r--r--+ 1 whmcclos staff 417 Feb 4 09:06 id_rsa.pub
[11] cat $HOME/.ssh/id_rsa.pub | ssh myRemoteHost 'cat >> .ssh/authorized_keys && echo "Key copied"'
введите свой пароль в последний раз. Теперь вы должны иметь возможность ssh
на удаленный хост без пароля.
Обратите внимание, что предполагается, что папка $HOME/.ssh
была создана на двух хостах: тот, с которого вы приходите, и тот, в который вы входите. Если они этого не сделали, сначала создайте эти папки, прежде чем выполнять вышеуказанные действия. Также обратите внимание, что разрешения для папки $ HOME/.ssh должны быть установлены на chmod 700 $HOME/.ssh
на обоих хостах.
На шаге [9] просто примите запись по умолчанию для каждого вопроса, но было бы полезно узнать, что означают вопросы.
SSH не позволяет вам передавать пароль, так как это будет считаться небезопасным (вместо этого вы должны использовать публичные ключи, но в школе, вероятно, придется также устанавливать их с самого конца)
PuTTY позволяет передавать пароль из командной строки:
3.8.3.8 -pw: указать пароль
Обратите внимание, что параметр -pw работает только при использовании протокола SSH.
и есть также SSHPass:
Sshpass - это инструмент для неинтерактивного выполнения аутентификации по паролю с помощью так называемой "аутентификации по паролю с интерактивной клавиатуры".