如何添加私钥到SSH?

我已经生成了一对私人/客户RSA密钥。 公钥被添加到远程服务器,但是,当我通过ssh连接到远程服务器时,通过使用-v,我可以看到我的本地客户端没有使用〜/ .ssh中的私钥。 如何添加私钥以确保它用于身份validation?

使用ssh auth的详细输出:

debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: /home/nubela/.ssh/id_rsa debug1: Authentications that can continue: publickey debug1: Trying private key: /home/nubela/.ssh/identity debug1: Trying private key: /home/nubela/.ssh/id_dsa debug1: No more authentication methods to try. 

下面是我〜/ .ssh的ls -al

 [nubela@localhost .ssh]$ pwd /home/nubela/.ssh [nubela@localhost .ssh]$ ls -al total 36 drwx------ 2 nubela guest 4096 2009-11-11 12:28 ./ drwx--x--x 70 nubela guest 4096 2009-11-11 00:53 ../ -rw-r--r-- 1 nubela guest 1486 2009-11-11 12:25 2.ppk -rw------- 1 nubela guest 604 2009-06-09 04:37 authorized_keys2 -rw------- 1 nubela guest 1743 2009-11-03 23:48 id_rsa -rw-r--r-- 1 nubela guest 398 2009-11-03 23:48 id_rsa.pub -rw-r--r-- 1 nubela guest 2803 2009-11-11 13:34 known_hosts -rw------- 1 nubela guest 1743 2009-11-11 12:21 upperstorey -rw------- 1 nubela guest 398 2009-11-11 12:21 upperstorey.pub 

upperstorey是我希望ssh客户端使用的私钥。 我如何添加?

PS:使用-i / path / to / privatekey工作

谢谢!

所以,当连接到主​​机远程主机,你想使用包含在upperstorey的关键?

你需要告诉ssh明确地使用它。 这样做最简单的方法是将以下代码块添加到〜/ .ssh / config中:

 Host remotehost IdentityFile ~/.ssh/upperstorey 

这告诉ssh连接到该主机时使用该密钥。 添加任何别名到主机(即远程主机,remotehost.remotedomain.com等)