Как git клонировать S SH ключ с парольной фразой, используя python? - PullRequest
0 голосов
/ 27 марта 2020

Я новичок в python и хочу git клонировать S SH ключ с парольной фразой. Ссылаясь на это { ссылка }, я попробовал это как:

from subprocess import Popen, PIPE

password = 'Password@'
proc = Popen(['git', 'clone', 'git@gitlab.com:gitlab.com/julie/board.git'], stdin=PIPE)
proc.communicate(password)

И это вывод, который он дает:

Traceback (most recent call last):
  File "C:\Users\dell\eclipse-workspace\GitTrial\Git\__init__.py", line 123, in <module>
    proc.communicate(password)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1009, in communicate
    self._stdin_write(input)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 958, in _stdin_write
    self.stdin.write(input)
TypeError: a bytes-like object is required, not 'str'
Cloning into 'board'...
Permission denied, please try again.
Permission denied, please try again.
git@gitlab.com: Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Я использую windows 10. Может ли кто-нибудь помочь мне с этим?

1 Ответ

1 голос
/ 27 марта 2020

В журналах указано:

...
    proc.communicate(password)
...
TypeError: a bytes-like object is required, not 'str'

Пароль должен содержать байты, а не строку:

password = b'Password@'
...