-i参数是指定上传的公钥而不是用于登录的私钥
ssh -i 私钥
ssh-copy-id -i 公钥.pub [email&/>可以直接把本地公钥上传到服务器,但是需要输入密码,我需要指定登录私钥,应该怎么做?-i参数是指定上传的公钥而不是登录的私钥。我这句命令可以改吗?
~/.ssh/config
公私钥是一对,非要再搞个 key2.pub,那就再服务器创建一个 user
ssh -i 是指定私钥。另,没看懂你的附言,意思是现服务器上有 key1.pub 和 key2.pub,你本地只有 key1?如果是这样,你用 ssh 命令可以直接登录啊
公私钥一对是唯一的吧。 LZ 应用场景是什么样的, 有这样的需求? X-Y?
现在服务器有key1.pub本地有key1。我在本地生成了一对key2和key2.pub。现在想在本地用ssh-copy-id命令把key2.pub上传到服务器。我本地的key1并不在默认路径,而在~/keys/key1。
两种方式:
1. 用 ssh -i key1 登录服务器,再手动 copy key2.pub
2. 用 ~/.ssh/config 配置使用 key1 登录
Host xxx
HostName xxx.xxx.xxx.xxx
Port xxx
User xxx
IdentitiesOnly yes
IdentityFile ~/.ssh/key1
不用指定,cat key2 >> ~/.ssh/id_rsa
用楼上说的“>>" 则不会覆盖。。
不行?
把 ~/.ssh 备份之后新建一个空的 ~/.ssh ,把决定要用的 私钥 放里面并改名为 id_rsa,让 ~/.ssh 里只有这一个文件,也就是默认路径
然后用 ssh-copy-id,这样一来它就会自动选用默认路径的那个私钥