免密登陆和ssh-copy-id命令解析

17 篇文章 0 订阅

免密登录,需要先在本机生成公钥,然后将公钥拷贝到远程主机,拷贝的过程,既可以手动(在远程主机根目录下创建.ssh目录,然后将公钥存入该目录下authorized_keys文件中即可),也可以直接命令操作ssh-copy-id,这个操作做完了,即可免密登录远程主机。

仔细回想这个过程,先在本机生成公钥,然后将公钥复制到远程主机,接着就可以免密登录远程主机,这个过程似乎与我们想想的不太一样,我们可能希望远程主机免密登录本机。这就好比我要去朋友家,我先将我们家的钥匙放在朋友家,结果我就可以随便进入朋友家里。正常来说,我家钥匙在朋友家里,应该是朋友随便进入我家。通过实验我们来看是什么样的。

一、生成类型rsa免密的公钥。

ssh-keygen

之后一路回车

二、将公钥放入目标机器上。

ssh-copy-id

执行成功之后,我们在目标机器上查看/root/.ssh目录已经生成,并且多了一个名为authorized_keys的文件,里面保存的正是原机器上ssh-keygen生成的id_rsa.pub的内容。

三、免密登陆过程

在这里插入图片描述

四、ssh-copy-id命令解析

ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,
ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限。
ssh- copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下。
达到的功能:
       ssh-copy-id - 将你的公共密钥填充到一个远程机器上的authorized_keys文件中。
使用模式:
       ssh-copy-id [-i [identity_file]] [user@]machine

-i:指定公钥文件
 
1、把本地的ssh公钥文件安装到远程主机对应的账户下:
 
ssh-copy-id user@server
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
描述:  
       ssh-copy-id 是一个实用ssh去登陆到远程服务器的脚本(假设使用一个登陆密码,
                   因此,密码认证应该被激活直到你已经清理了做了多个身份的使用)。
                   它也能够改变远程用户名的权限,~/.ssh和~/.ssh/authorized_keys
                   删除群组写的权限(在其它方面,如果远程机上的sshd在它的配置
                   文件中是严格模式的话,这能够阻止你登陆。)。

 
                   如果这个 “-i”选项已经给出了,然后这个认证文件(默认是~/.ssh
                   /id_rsa.pub)被使用,不管在你的ssh-agent那里是否有任何密钥。


                   另外,命令 “ssh-add -L” 提供任何输出,它使用这个输出优先于
                   身份认证文件。如果给出了参数“-i”选项,或者ssh-add不产生输出,
                   然后它使用身份认证文件的内容。一旦它有一个或者多个指纹,它使
                   用ssh将这些指纹填充到远程机~/.ssh/authorized_keys文件中。
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值