Во-первых, нет ничего плохого в использовании разных ключей для разных учетных записей. Это довольно много для интерактивных оболочек, но есть веские причины делать это, когда вы имеете дело с другими, неинтерактивными службами. Например, несколько лет назад GitHub начал разрешать более сильные SSH-ключи, в то время как Bitbucket настаивал на использовании более слабых ключей еще некоторое время. В то время правильным действием было использование разных ключей для доступа к GitHub и Bitbucket.
Другой пример — rsync
. Если вы используете rsync
, скажем, для развертывания файлов на веб-сервере, вам, вероятно, нужны для этого выделенные ключи SSH. Они позволяют вам устанавливать другие разрешения, отличные от тех, которые вы обычно используете для своей интерактивной учетной записи.
Вернемся к вашему вопросу об управлении несколькими ключами: SSH позволяет устанавливать разные параметры для разных мест назначения. Для этого вам нужно отредактировать файл ~/.ssh/config
следующим образом:
Host bitbucket.org
User hg
IdentitiesOnly yes
IdentityFile /home/user/.ssh/bitbucket
Host github.com gist.github.com
User git
IdentitiesOnly yes
IdentityFile /home/user/.ssh/github
Файл ~/.ssh/config
должен иметь права доступа 0600 (я не прямо сейчас не помню, обеспечивается ли это SSH или нет, но это, конечно, не повредит).
Вы можете, конечно, также использовать тот же механизм для интерактивных оболочек, поэтому установите такие вещи, как удаленное имя пользователя (если оно отличается от локального), удаленный порт, сокращение имени хоста и т. д. Например:
Host sm
Hostname sphygmomanometer.example.com
User human
Port 2222
Затем вы можете просто запустите
ssh sm
вместо
ssh -p 2222 human@sphygmomanometer.example.com
. Подстановочные знаки также разрешены:
Host *
ControlPath ~/.ssh/ctl-%u-%r-%h-%p
ControlMaster auto
ControlPersist 5m
Подробнее читайте в руководстве.
И последнее, но не менее важное: не "делайте eval 'ssh-agent -s'
вещь". Вопреки распространенному мнению, это имеет серьезные последствия для безопасности. Правильный способ сделать это так:
ssh-agent /bin/bash
ssh-add
(затем введите свои ключевые пароли, когда вам будет предложено). Вот и все, не делайте это ключ за ключом или как-то еще.
Это запускает новую оболочку, в которую загружаются ваши ключи, и когда вы хотите отозвать доступ, вы просто выходите
из этой оболочки. Если вы «сделаете eval 'ssh-agent -s'
вещь», то агенты аутентификации будут работать еще долго после вашего выхода из системы, и они могут (и в конечном итоге будут) использоваться для несанкционированного доступа.
Редактировать: Проведите небольшой эксперимент:
eval $(ssh-agent -s)
pgrep ssh-agent
Никто не убивает этих ssh-agent
, они зависают до следующей перезагрузки
, готовые к использованию последними вредоносными программами.
Вам необходимо перевести Chromebook в режим разработчика , чтобы команда оболочки
заработала. Это предварительное условие для установки crouton
, которое задокументировано в первой строке предварительного раздела руководства, которому вы следуете.
Как вы это сделаете, будет зависеть от вашего конкретного устройства; есть много гидов.