Trying to Generate a public key for my git. Using Powershell.
试图为我的git生成一个公钥。使用Powershell。
PS>ssh-keygen -t rsa -b 4096 -C "my@emailaddress.com"
Generating public/private rsa key pair.
Enter file in which to save the key (//.ssh/id_rsa):
Could not create directory '//.ssh': Read-only file system
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Saving key "//.ssh/id_rsa" failed: No such file or directory
If I give a location for the file and run
如果我给文件的位置并运行
ssh -vT git@github.com
It doesn't check the custom location for the public key to use
它不检查要使用的公钥的自定义位置
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to github.com [<<ANIPADDRESS>>] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.1
debug1: Remote protocol version 2.0, remote software version libssh-0.7.0
debug1: no match: libssh-0.7.0
debug1: Authenticating to github.com:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client chacha20-poly1305@openssh.com <implicit> none
debug1: kex: client->server chacha20-poly1305@openssh.com <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:<<SCAREDTOPUBLISH>>
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /.ssh/known_hosts:1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
debug1: Trying private key: /.ssh/id_ecdsa
debug1: Trying private key: /.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
1 个解决方案
#1
20
PS>ssh-keygen -t rsa -b 4096 -C "my@emailaddress.com" Generating public/private rsa key pair. Enter file in which to save the key (//.ssh/id_rsa): Could not create directory '//.ssh': Read-only file system Enter passphrase (empty for no passphrase): Enter same passphrase again: Saving key "//.ssh/id_rsa" failed: No such file or directory
The command could not save your key. Specify a file, at a location where you have write access:
该命令无法保存您的密钥。在您具有写入权限的位置指定文件:
ssh-keygen -t rsa -b 4096 -C "my@emailaddress.com" -f /path/to/key
This will save your private key in /path/to/key
and the public key in /path/to/key.pub
. When successful, instead of an error message, you will see something like:
这将保存/ path / to / key中的私钥和/path/to/key.pub中的公钥。成功后,您将看到以下内容,而不是错误消息:
Your identification has been saved in /path/to/key. Your public key has been saved in /path/to/key.pub. The key fingerprint is: 76:f7:82:04:1e:64:eb:9c:df:dc:0a:6b:26:73:1b:2c The key's randomart image is: +--[ RSA 2048]----+ | o | | o . | | + | | + + | | S o . | | . = = o | | E * + o | | o.++ o | | *o.. | +-----------------+
And then, to make ssh
look for the file at the custom location, use the -i
flag:
然后,要使ssh在自定义位置查找文件,请使用-i标志:
ssh -i /path/to/key -vT git@github.com
Alternatively, if you have an authentication agent running, you can add your key to the agent with:
或者,如果您正在运行身份验证代理,则可以使用以下命令将密钥添加到代理:
ssh-add /path/to/key
Once your key is stored by the agent, you can simply do:
一旦您的密钥由代理存储,您可以简单地执行以下操作:
ssh -T git@github.com
The response should look something like:
响应应该类似于:
Hi USER! You've successfully authenticated, but GitHub does not provide shell access.
And you can go ahead and clone your repository with:
您可以继续使用以下方法克隆存储库:
git clone git@github.com:USER/REPO
#1
20
PS>ssh-keygen -t rsa -b 4096 -C "my@emailaddress.com" Generating public/private rsa key pair. Enter file in which to save the key (//.ssh/id_rsa): Could not create directory '//.ssh': Read-only file system Enter passphrase (empty for no passphrase): Enter same passphrase again: Saving key "//.ssh/id_rsa" failed: No such file or directory
The command could not save your key. Specify a file, at a location where you have write access:
该命令无法保存您的密钥。在您具有写入权限的位置指定文件:
ssh-keygen -t rsa -b 4096 -C "my@emailaddress.com" -f /path/to/key
This will save your private key in /path/to/key
and the public key in /path/to/key.pub
. When successful, instead of an error message, you will see something like:
这将保存/ path / to / key中的私钥和/path/to/key.pub中的公钥。成功后,您将看到以下内容,而不是错误消息:
Your identification has been saved in /path/to/key. Your public key has been saved in /path/to/key.pub. The key fingerprint is: 76:f7:82:04:1e:64:eb:9c:df:dc:0a:6b:26:73:1b:2c The key's randomart image is: +--[ RSA 2048]----+ | o | | o . | | + | | + + | | S o . | | . = = o | | E * + o | | o.++ o | | *o.. | +-----------------+
And then, to make ssh
look for the file at the custom location, use the -i
flag:
然后,要使ssh在自定义位置查找文件,请使用-i标志:
ssh -i /path/to/key -vT git@github.com
Alternatively, if you have an authentication agent running, you can add your key to the agent with:
或者,如果您正在运行身份验证代理,则可以使用以下命令将密钥添加到代理:
ssh-add /path/to/key
Once your key is stored by the agent, you can simply do:
一旦您的密钥由代理存储,您可以简单地执行以下操作:
ssh -T git@github.com
The response should look something like:
响应应该类似于:
Hi USER! You've successfully authenticated, but GitHub does not provide shell access.
And you can go ahead and clone your repository with:
您可以继续使用以下方法克隆存储库:
git clone git@github.com:USER/REPO