Невозможно использовать самообслуживаемое репо в качестве зависимости от Composer [duplicate]

Это строка после , которая соответствует тому, что вам интересно, не так ли? В sed это можно сделать так:

sed -n '/ABC/{n;p}' infile

В качестве альтернативы вариант grep's A может быть тем, что вы ищете.

-A NUM, Print NUM lines of trailing context after matching lines.

Например, учитывая следующее входной файл:

foo
bar
baz
bash
bongo

Вы можете использовать следующее:

$ grep -A 1 "bar" file
bar
baz
$ sed -n '/bar/{n;p}' file
baz

Надеюсь, что это поможет.

99
задан bootsz 13 November 2012 в 17:26
поделиться

14 ответов

Вы подключаетесь по протоколу SSH. Используя SSH, каждый хост имеет ключ. Клиенты помнят ключ хоста, связанный с конкретным адресом, и отказываются подключаться, если появляется ключ хоста. Это предотвращает людей при средних атаках.

Изменен ключ хоста для домена.com. Если это не кажется вам подозрительным, вы можете удалить старый ключ из своего локального кеша, используя

$ ssh-keygen -R domain.com

. Я настоятельно рекомендую вам также проверить, что пользователи аутентифицируются с помощью ключей. Таким образом, ssh-agent может хранить ключевой материал для удобства (вместо того, чтобы каждый должен вводить свой пароль для каждого подключения к серверу), а пароли не распространяются по сети.

60
ответ дан Greg Bacon 20 August 2018 в 22:29
поделиться
  • 1
    Или вы можете удалить строку нарушения вручную из ~ / .ssh / known_hosts – ZaMoose 13 November 2012 в 18:16
  • 2
  • 3
    @GregBacon Это хешировано, но URL-адрес не указан, поэтому просто найдите строку, которая начинается с нужного домена и удалите строку. Это всегда было так, как я это сделал, когда я указал старые поддомены на новый ssh-сервер и должен был очистить ключ хоста старого сервера. – Stephen Smith 8 July 2014 в 03:46
  • 4
    Это не устраняет проблему - она ​​просто удаляет старые известные хосты - правильно? – alex 12 February 2018 в 20:19
  • 5
    @alex Зависит от вашей конфигурации. Это удаляет старый ключ хоста и устраняет проблему, если клиент разрешит пользователю принимать новый ключ хоста. В заблокированных системах доверенный пользователь должен будет обновить ключ хоста - скорее всего, в /etc/ssh, а не под ~/.ssh. – Greg Bacon 13 February 2018 в 16:51

Я столкнулся с такой же ошибкой внутри DockerFile во время сборки, пока изображение было общедоступным. Я сделал небольшую модификацию в файле Docker.

 RUN git clone  https://github.com/kacole2/express-node-mongo-skeleton.git /www/nodejs

Это было бы потому, что использование синтаксиса git@github.com: ... заканчивается> использованием SSH для клонирования и внутри контейнера закрытый ключ недоступен. Вместо этого вы хотите использовать RUN git clone> https://github.com/edenhill/librdkafka.git .

-1
ответ дан Adiii 20 August 2018 в 22:29
поделиться

Для меня мне просто нужно было ввести «да» в приглашении, которое спрашивает «Вы уверены, что хотите продолжить соединение (да / нет)?» а не просто нажать Enter.

7
ответ дан Code-Apprentice 20 August 2018 в 22:29
поделиться
  • 1
    Этот ответ привел меня к осознанию того, что мне пришлось вручную клонировать мое репо на моем сервере сборки, чтобы ввести «да» и добавить мой сервер битбакет в мои известные_хороны – Sashah 20 November 2017 в 21:34
  • 2
    @Sashah Если вам нужен сервер bitbucket в known_hosts, вы можете отредактировать файл вручную. Не нужно клонировать репо, если это единственная причина для этого. – Code-Apprentice 13 December 2017 в 17:03
  • 3
    hahaha спасибо за это! – khakiout 17 February 2018 в 03:44

Как я уже говорил ранее в Клонирование git repo вызывает ошибку - проверка ключа хоста завершилась неудачно. fatal: удаленный конец неожиданно повесился , добавьте GitHub в список авторизованных хостов:

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

188
ответ дан Community 20 August 2018 в 22:29
поделиться
  • 1
    Это самый безопасный способ, за исключением уже присутствующего ключа. Это предполагает, что вы запускаете его только один раз, не каждый раз, когда вы подключаетесь к серверу. – Zenexer 13 August 2015 в 13:49
  • 2
    Закрытое хранилище моей компании использует ecdsa как ключ, поэтому, если решение не работает, возможно, это потому, что алгоритм неверен – Fendy 12 April 2016 в 03:07
  • 3
    Это должен быть принятый ответ. Спасибо, что спасли мой день. – Keyur K 9 August 2017 в 13:11

Я получил это сообщение, когда попытался git clone репо, которое не было моим. Исправление было в fork и затем клонировано.

0
ответ дан fyodrs 20 August 2018 в 22:29
поделиться

У меня такая же проблема в недавно установленной системе, но это была проблема udev. Не было узла /dev/tty, поэтому мне пришлось делать:

mknod -m 666 /dev/tty c 5 0
7
ответ дан Geoffroy 20 August 2018 в 22:29
поделиться
  • 1
    Это сработало для меня, потому что / dev / tty был создан как файл, очень странный! (так что вам нужно удалить его, а затем воссоздать его с помощью mknod) – Doomsday 2 November 2014 в 15:31
  • 2
    @Geoffroy, я удалил / dev / tty и теперь, когда делаю sudo, я сталкиваюсь с этой ошибкой: sudo: извините, у вас должно быть tty для запуска sudo – Milad 17 December 2014 в 13:29
  • 3
    @ xe4me Я никогда не говорил, что вы должны удалить его, в зависимости от системы, на которой это действительно требуется. Перезагрузка должна исправить это. – Geoffroy 17 December 2014 в 18:33
  • 4
    @Geoffroy, на самом деле первый комментатор, сказал, что мне нужно удалить и воссоздать: d Нет, перезагрузка не работала, я должен был сказать root, он исправил ее: d – Milad 18 December 2014 в 10:58

Что сработало для меня, так это сначала добавить мой SSH-ключ нового компьютера, я выполнил эти инструкции из GitLab - добавьте ключ SSH . Обратите внимание, что, поскольку я нахожусь на Win10, мне пришлось выполнять все эти команды в Git Bash в Windows (он не работал в обычной командной консоли DOS).

Затем снова в Git Bash мне пришлось сделайте git clone репо, с которым у меня были проблемы, и в моем случае я должен был клонировать его под другим именем, так как я уже имел его локально и не хотел потерять свои коммиты. Например,

git clone ssh://git@gitServerUrl/myRepo.git myRepo2

Затем я получил приглашение добавить его в список известных хостов, вопрос может быть следующим:

Вы действительно хотите продолжить подключение (да / нет)?

Я набрал «да», и он, наконец, сработал, вам обычно нужно получить сообщение, подобное этому:

Warning: Постоянно добавлена ​​'[ваша ссылка репо]' (ECDSA) в список известных хостов.

Примечание: если вы находитесь в Windows, убедитесь, что вы используете Git Bash для всех команд, это не работал в обычной CMD-оболочке или PowerShell, я действительно должен был сделать это в Git Bash.

Наконец, я удалил второе повторное копирование клона (myRepo2 в примере) и вернулся к моему первому репо, и я мог, наконец, сделать все вещи Git, как обычно, в моем любимом редакторе VSCode.

2
ответ дан ghiscoding 20 August 2018 в 22:29
поделиться

Это означает, что ваш ключ удаленного хоста был изменен (может быть изменение пароля хоста),

. Ваш терминал предложил выполнить эту команду как пользователь root

$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]

Вам нужно удалить это имя хоста из списка хостов на вашем ПК / сервере. Скопируйте эту предложенную команду и выполните ее как пользователя root.

$ sudo su                                                        // Login as a root user

$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]    // Terminal suggested command execute here
Host [www.website.net]:4231 found: line 16 type ECDSA
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old

$ exit                                                           // Exist from root user

Попробуйте снова, надеюсь, это сработает.

1
ответ дан Jay Patel 20 August 2018 в 22:29
поделиться
  • 1
    Примечание: в зависимости от вашей оболочки вам может потребоваться избежать квадратных скобок \ [и \] или использовать кавычки. – Phlarx 16 January 2017 в 20:38

У меня была аналогичная проблема, к сожалению, я использовал GitExtensions HMI и забыл, что написал кодовую фразу. С HMI ... забудьте об этом! Не вводите кодовую фразу при создании ключа!

0
ответ дан Jerome Vacher 20 August 2018 в 22:29
поделиться

Если вы используете git для Windows.

  • Откройте git GUI.
  • Откройте локальный репозиторий git в git GUI.
  • Добавить удалите или нажмите, если пульт уже существует.
  • Ответьте «да» на вопрос о том, хотите ли вы продолжить.

Клиент GUI добавляет вам ключ к ~/.ssh/known_hosts. Это легче запомнить, если вы не делаете этого часто, а также избегаете необходимости использовать командную строку git (стандартные командные строки Windows не имеют исполняемого файла ssh-keyscan.

2
ответ дан Julian Knight 20 August 2018 в 22:29
поделиться

Вы можете использовать свой «git url» в формате URL «https» в файле Jenkins или где хотите.

git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'

0
ответ дан Nitin 20 August 2018 в 22:29
поделиться

Это происходит потому, что github в настоящее время не находится на ваших известных хостах.

Вам должно быть предложено добавить github к вашим известным хостам. Если этого не произошло, вы можете запустить ssh -T git@github.com, чтобы снова получить приглашение.

10
ответ дан Powderham 20 August 2018 в 22:29
поделиться
  • 1
    Это правильный ответ, если вы никогда не получите запрос. – Matt Hagemann 7 July 2018 в 08:23

Если вы находитесь в офисной интрасети (в противном случае опасно), которая всегда защищена брандмауэрами, просто используйте следующие строки в ~ / .ssh / config

Host * StrictHostKeyChecking no UserKnownHostsFile = / dev / null

2
ответ дан sunil 20 August 2018 в 22:29
поделиться
  • 1
    Это по-прежнему опасно, без наших корпоративных брандмауэров. Откуда вы знаете, что разговариваете с настоящим github без проверки ключа сервера? – Mnebuerquo 17 March 2018 в 21:42
  • 2

У меня была аналогичная проблема, но, используя SSH-ключи. Из ответа Тупи, выше, я понял, что проблема заключается в том, что файл known_hosts не присутствует или github.com не присутствует в списке известных хостов. Вот шаги, которые я выполнил для его устранения -

  1. mkdir -p ~/.ssh
  2. ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
  3. ssh-keygen -t rsa -C "user.email"
  4. Добавьте ключ id_rsa.pub в список ключей SSH в вашем профиле GitHub.
28
ответ дан Tadeusz Łazurski 20 August 2018 в 22:29
поделиться
Другие вопросы по тегам:

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