Вот и меня тоже гитхаб захотел сосчитать :(
Хотя гитхаб (как и битбакет) какой-то критической роли для меня не играет, больше как переправочный пункт для локальных реп, ну и пару раз как веб-сервер, чтоб протестировать нелокально. Ну и с прицелом как "потенциальное портфолио" на всякий случай, хотя, конечно, там больше не совсем то, что хотелось бы демонстрировать в качестве "портфолио".
Стоит ли делиться своим телефонным номером? Чем может быть чревато? Могут отдать на сторону назойливым рекрутерам? Еще что-то?
Или просто послать нахер?
Есть еще какой-то вариант с passkey, но я сколько ни читаю, никак не могу понять, что такое authentificator, который "я контролирую". У меня зарегистрировано несколько SSH-ключей, но они работают в git-клиенте, и я так понимаю, это не имеет отношения к passkey.
Вариант поставить гитхаб-клиента - не вариант :)
Он телефон спрашивает? Что-то не помню такого.
Кстати, написал вчера Тарасу аутентификатор на php, а то помню он жаловался, что найти под PC не может, а на андроиде всё место забито приложениями под пивнушки и парикмахерские.
Странно, что в php не завезли функцию base32_decode, больше половины кода ушло на её реализацию.
entryway
> Он телефон спрашивает?
Ну я так понял, он именно его потребует, если я выберу вариант 2FA через SMS.
Dmitry_Milk
А, через SMS. Не пользуюсь таким.
entryway
> аутентификатор
Что это такое? В заметке про passkey тоже говорится про какой-то аутентификатор.
Dmitry_Milk
> Что это такое?
Это то приложение, которое ставится на телефон, например google autentificator. Сайт выдает тебе ключ в виде QR-code, либо можно посмотреть в виде base32 строки, а аутентификатор единственное что делает, это сохраняет его, и потом передает в функцию foo() выше и показывает сгенерированный код.
В аутентификаторе хранятся пары название-ключ, когда ты его запускаешь, он для каждого ключа генерирует код и показывает сразу все их тебе, и ты вводишь как второй фактор на сайте или где там.
То есть двухфакторность в данном случае заключается в том, что секретный ключ, выданный пользователю поставщиком услуги (в данном случае гитхабом), хранится не на компе, а в приложении на телефоне, которое и использует его генерации одноразового кода?
И теоретически ничто не мешает сохранить код на самом же компе и точно так же генерировать из него одноразовый пароль (естественно, потеряв при этом всякий смысл двухфакторности)?
Dmitry_Milk
Типа того. Я что-то думал там как-то мутно, но там, как видишь, пять строк кода.
entryway, ок, спасибо, попробую разобраться, мож сам напитоню что-нибудь.
Dmitry_Milk
Гугли сразу python totp
import pyotp totp = pyotp.TOTP('base32secret3232') totp.now( ) # => '492039'
entryway, о, спасибо. Как обычно, "все уже до нас украдено" :)
entryway
> pyotp
class OTP(object):
@staticmethod
def int_to_bytestring(i: int, padding: int = 8) -> bytes:
"""
Turns an integer to the OATH specified
bytestring, which is fed to the HMAC
along with the secret
"""
result = bytearray()
while i != 0:
result.append(i & 0xFF)
i >>= 8
# It's necessary to convert the final result from bytearray to bytes
# because the hmac functions in python 2.6 and 3.3 don't work with
# bytearray
return bytes(bytearray(reversed(result)).rjust(padding, b"\0"))Что только люди не придумают, чтоб не написать просто i.to_bytes(padding, 'big')
Ну и еще куча методов, выполняющих действие типа "поделить таймстамп на 30". При этом если задавать время именно таймстампом, то он его сначала конвертирует в datetime, а потом datetime снова конвертирует в таймстамп и делит на 30 :)
Я блин забыл какой командой пушить
Попытался ссх применить
Таки скачал опенссх, добавил какой-то в гит, который у меня появился в C:\Users\User\.ssh\github_rsa
А дальше-то чё делать?
У меня есть репа, которую я давно создал безо всякого ссх
Как сказать "теперь запуши её используя этот ссх и больше не трахай мне мозги"?
Ещё я вводил команду "git config --global core.sshCommand "C:\Program Files\OpenSSH\bin\ssh.exe"", но она странная, ничего не говорит независимо от того, есть такой екзешник или нет
По смыслу я догадываюсь что наверное она должна сказать гиту что у меня есть программа для генерации ссх, но как гит узнает что у меня в .ssh есть ключи?
ах да, это всё на венде
нормально ли что у меня github_rsa и github_rsa.pub вместо id_ed25519.pub?
То есть я вводил ssh-add ~/.ssh/github_rsa но оно ничего не выводит, как я вообще пойму что оно отработало успешно?
Так, ввёл git remote set-url origin :USERNAME/REPONAME.git (понятно что заменив имя на нужное)
Теперь permission denied
Просто вбиваю рандомные команды из инета
ssh -vT
не пишет тупо ничего
был бы линукс было бы понятно, а тут ещё попробуй пойми что за херню я скачал вместо ссх
1 frag / 2 deaths
> Теперь permission denied
Переименовал папку .ssh, он сдела вид что хост поменялся, ага, он её таки видит. Но по итогу всё равно permission denied
Хоть бы сказал гад - вообще файл не нашёл, или в файле не тот ключ оказался?