crouton - ОШИБКА: unknown command: shell [closed]

Во-первых, нет ничего плохого в использовании разных ключей для разных учетных записей. Это довольно много для интерактивных оболочек, но есть веские причины делать это, когда вы имеете дело с другими, неинтерактивными службами. Например, несколько лет назад 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' вещь», то агенты аутентификации будут работать еще долго после вашего выхода из системы, и они могут (и в конечном итоге будут) использоваться для несанкционированного доступа.

Редактировать: Проведите небольшой эксперимент:

  1. eval $(ssh-agent -s)
  2. выйдите из системы или завершите работу терминала
  3. снова войдите в систему или откройте новый терминал
  4. pgrep ssh-agent

Никто не убивает этих ssh-agent, они зависают до следующей перезагрузки, готовые к использованию последними вредоносными программами.

1
26.06.2016, 17:59
1 ответ

Вам необходимо перевести Chromebook в режим разработчика , чтобы команда оболочки заработала. Это предварительное условие для установки crouton , которое задокументировано в первой строке предварительного раздела руководства, которому вы следуете.

Как вы это сделаете, будет зависеть от вашего конкретного устройства; есть много гидов.

1
27.01.2020, 23:47

Теги

Похожие вопросы