git - Khóa máy chủ lưu trữ không được lưu trong bộ nhớ cache


101

Tôi cố gắng đẩy các thay đổi từ repo cục bộ của mình sang repo từ xa. Khi tôi nhập:

git push origin

Tôi nhận được lỗi sau đây:

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Connection abandoned.
fatal: The remote end hung up unexpectedly

Làm sao tôi có thể giải quyết việc này? Tôi đang sử dụng git từ dòng lệnh trong Windows 7.

Biên tập

Khi tôi cố gắng làm một ssh đơn giản

ssh user@hostname

Tôi nhận được lỗi sau đây:

Could not create directory '/c//%HOMEDRIVE%%HOMEPATH%/.ssh'.
percent_expand: unknown key %H

Bằng cách nào đó nó sẽ không tạo được thư mục, vì đường dẫn không hợp lệ. Làm thế nào để khắc phục điều này?

@eckes: Edit2

My Home được đặt thành %HOMEDRIVE%%HOMEPATH%này có đúng không?


2
Có vẻ như $HOMEkhông được thiết lập đúng cách. Cố gắng đặt HOMEbiến môi trường trên windows bằng cách sử dụng My Computer-> nhấp chuột phải -> Properties-> Tab Advanced-> NútEnvironment Variables
eckes

1
Tôi không phải là một người yêu thích cửa sổ, nhưng tôi thấy kỳ lạ là sau /c//(có lẽ là ký tự ổ đĩa) bạn vẫn còn %HOMEDRIVE%... Bạn có thể tiết kiệm thời gian bằng cách tự tìm kiếm giá trị và lặp lại giá trị đó?
Cascabel

1
Mở rộng HOMEDRIVEHOMEPATHđặt thành HOMEgiá trị kết quả ...
eckes

Câu trả lời:


54

Thông báo có nghĩa là khóa máy chủ của originkhông có trong tệp máy chủ đáng tin cậy của bạn.

Để giải quyết vấn đề này, hãy mở một kết nối SSH thuần túy originvà SSH sẽ hỏi bạn xem bạn có muốn tin cậy máy chủ từ xa (từ bảng điều khiển Git) hay không:

$ ssh 127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
RSA key fingerprint is <FINGERPRINT>.
Are you sure you want to continue connecting (yes/no)?

Nếu bạn tin tưởng máy chủ từ xa (tức là loại yes), SSH sẽ thêm khóa của nó vào danh sách các máy chủ đã biết.

Sau đó, bạn sẽ có thể làm của bạn git push origin.

Là một thay thế, bạn cũng có thể tự thêm các chủ chốt của originđể .ssh/known_hostsnhưng điều này đòi hỏi bạn phải tuân theo các định dạng của known_hoststập tin như mô tả trong man page của sshd(Phần authorized_keys FILE FORMAT ).


4
Tôi nhận được thông báo tương tự khi thực hiện đẩy lên github nhưng tôi có thể chuyển sang github và tôi có github.com trong known_hoststệp của mình .
Magnus Lindhe

1
Nhìn vào câu trả lời dưới đây trong trường hợp này
Nikita Koksharov

3
Bạn có thể sử dụng PuTTY trên windows cho các mục đích tương tự, thay cho máy khách SSH dòng lệnh.
brianmearns

1
Đảm bảo rằng tên máy chủ hoàn toàn giống nhau. Ví dụ: nếu bạn đã cài đặt git cục bộ và sử dụng tên 'home.mydomain.com' làm điều khiển từ xa, nhưng lưu trữ khóa bằng cách sử dụng putty để kết nối với 'localhost', điều đó sẽ không hoạt động. Bạn cần kết nối chính xác với tên máy chủ trong url từ xa của mình.
Jason Goemaat

Đối với tôi đã cố định kết nối với putty với máy chủ. Giả sử git url là ssh: //git@example.ex.com: 222 / something / shop.git, vì vậy tôi đã nhập vào trường tên máy chủ putty example.ex.com và cổng 222. Sau đó, kết nối không thành công nhưng tôi đoán nó đã thêm ngón tay in ở nơi cần thiết. Tôi chỉ không hiểu nó được thêm vào đâu vì trong thư mục chính của tôi known_hosts - tệp không bị ảnh hưởng khi tôi xóa khóa cũ
Darius.V

157

Đối với những người bạn đang thiết lập MSYS Git trên Windows bằng PuTTY thông qua dấu nhắc lệnh tiêu chuẩn, cách để thêm máy chủ vào bộ nhớ cache của PuTTY là chạy

> plink.exe <host>

Ví dụ:

> plink.exe codebasehq.com

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 2e:db:b6:22:f7:bd:48:f6:da:72:bf:59:d7:75:d7:4e
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

Chỉ cần trả lời y, sau đó nhấn Ctrl + C phần còn lại.

Kiểm tra dấu vân tay mặc dù. Cảnh báo này là có lý do chính đáng. Dấu vân tay cho một số dịch vụ git (vui lòng chỉnh sửa để thêm nhiều hơn):


15
Đây phải là câu trả lời được chấp nhận. Đó chính xác là những gì thông báo lỗi đang đề cập đến. Trong trường hợp của tôi khi sao chép, tôi đã sử dụng FQDN, nhưng trên máy mới, tôi chỉ đăng nhập bằng tên miền cục bộ ngắn. Tôi đã phải đăng nhập thông qua putty hoặc plink làm FQDN để lưu khóa cho tên máy chủ ở gốc. Nó có thể giúp kiểm tra chéo tên máy được sử dụng làm điều khiển từ xa bằng cách sử dụng "git remote -v".
peabody

3
Nó cũng hoạt động để sử dụng PuTTY tương tác với máy chủ mà bạn đang cố gắng sử dụng. Ví dụ: nếu bạn đang cố gắng sao chép kho lưu trữ Github lần đầu tiên trên một máy Windows mới, hãy sử dụng PuTTY để mở một phiên tới máy chủ lưu trữ 'github.com', chấp nhận lời nhắc liên quan đến tin cậy của máy chủ, sau đó sao chép tại dòng lệnh sẽ hoạt động.
Jeremy McGee

1
Bạn có thể nói MSYS git được attemtping để sử dụng plinkbằng cách chạy $ set | grep GIT_SSHvà kiểm traGIT_SSH='C:\Program Files (x86)\PuTTY\plink.exe'
shuckc

2
Tôi đã giải quyết vấn đề này bằng cách thêm khóa của mình vào Pageant và truy cập trực tiếp vào máy chủ bằng Putty. Điều này yêu cầu bạn thêm máy chủ lưu trữ vào bộ nhớ cache. Làm điều tương tự.
Knossos

1
Nếu kho git của bạn được phục vụ trên một cổng SSH tùy chỉnh, sử dụng -Pđể chọn cổng, chẳng hạn như: plink.exe example.com -P 2222. Tôi đã có thể sao chép từ github nhưng không phải từ máy chủ cá nhân của mình và điều này khiến tôi bối rối không hồi kết.
Hay

79

Hãy thử thực hiện "set | grep -i ssh" từ lời nhắc Git Bash

Nếu thiết lập của bạn giống như của tôi, bạn có thể có những thiết lập sau:

GIT_SSH='C:\Program Files (x86)\PuTTY\plink.exe'
PLINK_PROTOCOL=ssh
SVN_SSH='"C:\\Program Files (x86)\\PuTTY\\plink.exe"'

Tôi đã làm một

unset GIT_SSH
unset PLINK_PROTOCOL
unset GIT_SVN

và nó hoạt động sau đó, .. Tôi đoán putty lưu các khóa của nó ở một nơi khác dưới dạng $ HOME / .ssh hoặc cái gì đó ... (Tôi cũng gặp sự cố trên hộp nơi $ HOME được đặt thành "C: \ Users \ usrnam "thay vì" / C / Users / usrnam / "

Dù sao, số dặm của bạn có thể khác nhau, nhưng điều đó đã cố định cho tôi. :-)

(có lẽ chỉ cần thực hiện GIT_SSH chưa đặt là đủ, nhưng tôi đã ở trong tình trạng khó khăn)

Lưu ý: nếu không đặt không hiệu quả với bạn, hãy thử cách này:

set GIT_SSH=

1
"unset GIT_SSH" phù hợp với tôi. Trước đây tôi đã thiết lập Pageant / putty cho một máy chủ khác, nhưng khi tôi tạo các khóa mới bằng cách sử dụng lời nhắc Git Bash, tôi cần quay lại. Cảm ơn đã giúp đỡ.
supermitch

sau khi thực hiện các bước của bạn, tôi đã tiến xa hơn nhưng bây giờ tôi nhận được lỗi "bị gián đoạn mac khi đầu vào" ... đã bao giờ gặp lỗi đó chưa?
CD Smith

2
Khi cài đặt git, bạn có thể chọn KHÔNG đặt các biến đó. Nó thậm chí còn là biến thể mặc định. Mặc dù tôi cũng đã chọn tích hợp plink, đó là lý do tại sao tôi ở đây) Cảm ơn.
Antony Hatchkins

1
Điều này cũng làm việc cho tôi trên Win7. Rõ ràng thiết lập của git bash với plink đã gây ra sự cố trong trường hợp của tôi.
nhylated

2
unset GIT_SSHcũng làm việc cho tôi, mặc dù tôi phải làm điều đó mỗi khi tôi khởi chạy git bash khá nhàm chán. Bất kỳ ý tưởng về cách tự động hóa điều đó?
Loïc

19

Tôi nghi ngờ rằng GIT_SSHbiến môi trường của bạn được đặt thành %ProgramFiles(x86)%\putty\plink.exe. Vì một số lý do, PLink không sử dụng .ssh/known_hoststệp trong thư mục người dùng của bạn để lưu trữ khóa máy chủ từ xa.

Nếu đây thực sự là trường hợp của bạn và nó có thể là cố ý nếu bạn muốn sử dụng cuộc thi, trước tiên bạn cần sử dụng PLink để kết nối với máy chủ.

"$GIT_SSH" user@hostname

Bạn sẽ nhận được một thông báo tương tự

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 86:7b:1b:12:85:35:8a:b7:98:b6:d2:97:5e:96:58:1d
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

Khi bạn đã trả lời ycâu hỏi và kết nối thành công với máy chủ từ xa, bạn đã sẵn sàng. Hãy tiếp tục và thử đẩy lại.


Đây là nó cho tôi khi sử dụng Git Bash trên các cửa sổ với PLink / Pageant. Cám ơn rất nhiều!
amsross

1
Sử dụng kho lưu trữ một Stash (nay Bitbucket), tôi đã phải sử dụng"$GIT_SSH" -P 7999 git@stash.domain.local
Julien

4

Chỉ ssh'ing đến máy chủ lưu trữ là không đủ, ít nhất là trên Windows. Điều đó sẽ thêm khóa máy chủ vào ssh/known_hostsnhưng lỗi vẫn còn.

Bạn cần đóng cửa sổ git bash và mở một cửa sổ mới. Sau đó, bộ đệm ẩn đăng ký được xóa và sau đó đẩy / kéo hoạt động.


ssh/known_hostscó liên quan đến cái gì không ?,% USERPROFILE% Tôi đang gặp sự cố này trên Win 7 và không có giải pháp nào ...
Frank Nocke

2

Gia hạn, HOMEbiến của bạn không được đặt chính xác. Thay đổi nó thành c:\Users\(your-username)hoặc chỉ thành %USERNAME%.


2

Giải pháp với Plink

Lưu tập lệnh python này vào known_hosts.py:

#! /usr/bin/env python

# $Id$
# Convert OpenSSH known_hosts and known_hosts2 files to "new format" PuTTY
# host keys.
#   usage:
#     kh2reg.py [ --win ] known_hosts1 2 3 4 ... > hosts.reg
#       Creates a Windows .REG file (double-click to install).
#     kh2reg.py --unix    known_hosts1 2 3 4 ... > sshhostkeys
#       Creates data suitable for storing in ~/.putty/sshhostkeys (Unix).
# Line endings are someone else's problem as is traditional.
# Developed for Python 1.5.2.

import fileinput
import base64
import struct
import string
import re
import sys
import getopt

def winmungestr(s):
    "Duplicate of PuTTY's mungestr() in winstore.c:1.10 for Registry keys"
    candot = 0
    r = ""
    for c in s:
        if c in ' \*?%~' or ord(c)<ord(' ') or (c == '.' and not candot):
            r = r + ("%%%02X" % ord(c))
        else:
            r = r + c
        candot = 1
    return r

def strtolong(s):
    "Convert arbitrary-length big-endian binary data to a Python long"
    bytes = struct.unpack(">%luB" % len(s), s)
    return reduce ((lambda a, b: (long(a) << 8) + long(b)), bytes)

def longtohex(n):
    """Convert long int to lower-case hex.

    Ick, Python (at least in 1.5.2) doesn't appear to have a way to
    turn a long int into an unadorned hex string -- % gets upset if the
    number is too big, and raw hex() uses uppercase (sometimes), and
    adds unwanted "0x...L" around it."""

    plain=string.lower(re.match(r"0x([0-9A-Fa-f]*)l?$", hex(n), re.I).group(1))
    return "0x" + plain

output_type = 'windows'

try:
    optlist, args = getopt.getopt(sys.argv[1:], '', [ 'win', 'unix' ])
    if filter(lambda x: x[0] == '--unix', optlist):
        output_type = 'unix'
except getopt.error, e:
    sys.stderr.write(str(e) + "\n")
    sys.exit(1)

if output_type == 'windows':
    # Output REG file header.
    sys.stdout.write("""REGEDIT4

[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys]
""")

# Now process all known_hosts input.
for line in fileinput.input(args):

    try:
        # Remove leading/trailing whitespace (should zap CR and LF)
        line = string.strip (line)

        # Skip blanks and comments
        if line == '' or line[0] == '#':
            raise "Skipping input line"

        # Split line on spaces.
        fields = string.split (line, ' ')

        # Common fields
        hostpat = fields[0]
        magicnumbers = []   # placeholder
        keytype = ""        # placeholder

        # Grotty heuristic to distinguish known_hosts from known_hosts2:
        # is second field entirely decimal digits?
        if re.match (r"\d*$", fields[1]):

            # Treat as SSH-1-type host key.
            # Format: hostpat bits10 exp10 mod10 comment...
            # (PuTTY doesn't store the number of bits.)
            magicnumbers = map (long, fields[2:4])
            keytype = "rsa"

        else:

            # Treat as SSH-2-type host key.
            # Format: hostpat keytype keyblob64 comment...
            sshkeytype, blob = fields[1], base64.decodestring (fields[2])

            # 'blob' consists of a number of
            #   uint32    N (big-endian)
            #   uint8[N]  field_data
            subfields = []
            while blob:
                sizefmt = ">L"
                (size,) = struct.unpack (sizefmt, blob[0:4])
                size = int(size)   # req'd for slicage
                (data,) = struct.unpack (">%lus" % size, blob[4:size+4])
                subfields.append(data)
                blob = blob [struct.calcsize(sizefmt) + size : ]

            # The first field is keytype again, and the rest we can treat as
            # an opaque list of bignums (same numbers and order as stored
            # by PuTTY). (currently embedded keytype is ignored entirely)
            magicnumbers = map (strtolong, subfields[1:])

            # Translate key type into something PuTTY can use.
            if   sshkeytype == "ssh-rsa":   keytype = "rsa2"
            elif sshkeytype == "ssh-dss":   keytype = "dss"
            else:
                raise "Unknown SSH key type", sshkeytype

        # Now print out one line per host pattern, discarding wildcards.
        for host in string.split (hostpat, ','):
            if re.search (r"[*?!]", host):
                sys.stderr.write("Skipping wildcard host pattern '%s'\n"
                                 % host)
                continue
            elif re.match (r"\|", host):
                sys.stderr.write("Skipping hashed hostname '%s'\n" % host)
                continue
            else:
                m = re.match (r"\[([^]]*)\]:(\d*)$", host)
                if m:
                    (host, port) = m.group(1,2)
                    port = int(port)
                else:
                    port = 22
                # Slightly bizarre output key format: 'type@port:hostname'
                # XXX: does PuTTY do anything useful with literal IP[v4]s?
                key = keytype + ("@%d:%s" % (port, host))
                value = string.join (map (longtohex, magicnumbers), ',')
                if output_type == 'unix':
                    # Unix format.
                    sys.stdout.write('%s %s\n' % (key, value))
                else:
                    # Windows format.
                    # XXX: worry about double quotes?
                    sys.stdout.write("\"%s\"=\"%s\"\n"
                                     % (winmungestr(key), value))

    except "Unknown SSH key type", k:
        sys.stderr.write("Unknown SSH key type '%s', skipping\n" % k)
    except "Skipping input line":
        pass

Đã thử nghiệm trên Win7x64 và Python 2.7 .

Sau đó chạy:

ssh-keyscan -t rsa bitbucket.org >>~/.ssh/known_hosts
python --win known_hosts.py >known_hosts.reg
start known_hosts.reg

Và chọn nhập vào sổ đăng ký. Quét phím sẽ truy xuất khóa công khai cho miền (tôi gặp sự cố với bitbucket) và sau đó tập lệnh python sẽ chuyển đổi nó sang định dạng Plink.


2

Gặp phải vấn đề tương tự và quên kết nối với SSH trên cổng nơi là kho lưu trữ tường lửa , không chỉ cổng SSH chung, thì khóa máy chủ khác!


Cũng sử dụng cùng một cách chỉ định máy chủ lưu trữ, ví dụ: không phải gitserver.example.com cho ssh và gitserver cho git.
Matthijs P

2

Chỉ cần mở Putty và cố gắng thiết lập kết nối với máy chủ từ xa mà bạn muốn đẩy mã của mình. khi hộp thoại xuất hiện, nhấn Yes (bạn tin cậy điều khiển từ xa) thì mọi thứ sẽ ổn.


2

Môi trường làm việc:

  • Windows 10
  • git
  • bột bả

Đầu tiên: Xóa putty known_hosts trong đăng ký theo Regedit.
Sau đó: Thực hiện lệnh %GIT_SSH% user@hostnametrong cmd của Window sẽ giải quyết được vấn đề.

Hy vọng nó sẽ giúp ích cho tất cả các bạn.


1

Tôi cũng gặp phải vấn đề tương tự khi cố gắng sao chép kho lưu trữ trên máy Windows 7 của mình. Tôi đã thử hầu hết các câu trả lời được đề cập ở đây. Không ai trong số họ làm việc cho tôi.

Điều làm việc cho tôi là chạy chương trình Pageant (Putty Authentication agent). Khi Pageant đang chạy ở chế độ nền, tôi có thể sao chép, đẩy & kéo từ / đến kho lưu trữ. Điều này có hiệu quả với tôi, có thể là do tôi đã thiết lập khóa công khai của mình sao cho bất cứ khi nào nó được sử dụng lần đầu tiên, cần có mật khẩu & cuộc thi khởi động.


Bạn nhận được thông báo lỗi khác khi đó là vấn đề về cuộc thi. Không phải Connection abandoned, mà giống nhưAccess denied (private key)
Andrey Regentov

1

Thay đổi từ PuTTY sang OpenSSH đã khắc phục sự cố này cho tôi mà không cần phải hủy đặt GIT_SSH, v.v.


Nếu bạn nhận được thông báo về khóa máy chủ không được nhận dạng trong khi thực hiện thao tác đẩy / kéo git bằng ATLASSIAN SOURCETREE, bạn không có khả năng trả lời y / n và thao tác đẩy / kéo sẽ bị hủy bỏ mà không lưu khóa. Tuy nhiên, đi tới Công cụ SourceTree-> Tùy chọn (Tab Chung) và thay đổi Máy khách SSH trong (dưới Cấu hình máy khách SSH) từ PuTTY sang OpenSSH sẽ cho phép khóa được lưu vào bộ nhớ cache mà không cần thay đổi bất kỳ điều gì khác.
Rod Dewell

1

Tôi đã giải quyết vấn đề tương tự bằng cách sử dụng cách giải quyết này .

Bạn chỉ cần chuyển sang Embedded Git, nhấn, nhấn nút Yes và sau đó chuyển trở lại System Git.

Bạn có thể tìm thấy tùy chọn này trong

Tools -> Options -> Git

1
Hiện trên vị trí v2.5.5.0:C:\Users\{UserName}\AppData\Local\SourceTree\app-2.5.5\tools\putty> .\plink.exe {YourNewHost}
John_J

1

Như Roman Starkov đã trả lời , plinkcần thêm máy chủ vào bộ nhớ cache của nó.

Đối với những người sử dụng Tiện ích mở rộng Git :

  1. Mở tiện ích mở rộng Git
  2. Đi tới Công cụ -> Cài đặt -> SSH
  3. Sao chép đường dẫn đến "plink.exe" (nếu sử dụng PuTTY) / "klink.exe" (nếu sử dụng KiTTY)
  4. Trong bảng điều khiển, hãy chạy lệnh sau:

(thay thế bằng các đường dẫn thực tế)

<the path to plink/klink.exe> <address to the server>

ví dụ

%ProgramData%\chocolatey\lib\kitty\tools\klink.exe codebasehq.com

Lưu ý : Đảm bảo sử dụng cùng một liên kết / liên kết mà Tiện ích mở rộng Git đang sử dụng!


0

Việc thêm máy chủ trực tiếp bằng Bash không giải quyết được sự cố, lỗi vẫn xảy ra khi sử dụng 'Tìm nạp tất cả' trong Tiện ích mở rộng Git. Bằng cách sử dụng 'Kéo' trên một nhánh, máy chủ được yêu cầu đã được Git Extensions tự động thêm vào với màn hình bật lên Bash. Sau khi làm điều này, tôi đã có thể sử dụng lại 'Tìm nạp tất cả'. Không chắc chắn những gì được thực hiện bởi Tiện ích mở rộng Git khác nhau.


0

Tôi đã thử tất cả các phương pháp ở trên nhưng không cách nào trong số chúng có thể khắc phục sự cố tương tự trên máy tính xách tay của tôi. Cuối cùng thay vì đẩy nhánh về gốc trong git bash, tôi sử dụng tùy chọn đẩy của TortoiseGit để thực hiện việc đẩy, sau đó một cửa sổ bật lên yêu cầu tôi thêm khóa máy chủ mới vào bộ nhớ cache, sau khi nhấp vào nút có, mọi thứ sẽ diễn ra. bây giờ tôi khỏe.

Hy vọng nó sẽ giúp ích cho tất cả các bạn.


0

Tôi đã thay đổi một đĩa cứng, cài đặt Windows. Khi cố gắng tải lên tệp nhận được cửa sổ lệnh này.

Tôi đã nhấn "y", sau đó nhấn Ctrl + C. Đã mở putty.exe, thêm một phím cũ đã trở lại git và đẩy tệp.


0

Chỉ cần gỡ cài đặt Tiện ích mở rộng Git và Cài đặt lại bằng cách chọn OpenSSH thay vì


0

Trong Windows 7 hoặc 10, thủ thuật phù hợp với tôi là xóa biến hệ thống GIT_SSH. Trước đây nó được thiết lập để sử dụng Plink, và bây giờ đã được thay thế bằng Putty. Điều này gây ra lỗi Plink.exe

Cũng có một bản cài đặt cũ của Git (phiên bản 32-bit) và cập nhật lên Git (ví dụ: Git-2.20.1-64-bit.exe) vì PC là hệ điều hành 64-bit.

Dù sao thì Putty / Plink thậm chí còn không được Git sử dụng vì trong cài đặt Git, nó được mặc định sử dụng Open SSH.


0

Nếu bạn nhận được thông báo về khóa máy chủ không được nhận dạng trong khi thực hiện thao tác đẩy / kéo git bằng ATLASSIAN SOURCETREE, bạn không có khả năng trả lời y / n và thao tác đẩy / kéo sẽ bị hủy bỏ mà không lưu khóa. Tuy nhiên, đi tới Công cụ SourceTree-> Tùy chọn (Tab Chung) và thay đổi Máy khách SSH trong (dưới Cấu hình máy khách SSH) từ PuTTY sang OpenSSH sẽ cho phép khóa được lưu vào bộ nhớ đệm mà không cần thay đổi bất kỳ điều gì khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.