![4970dfbc20d4c4a7f21613f01c531142.png](https://img-blog.csdnimg.cn/img_convert/4970dfbc20d4c4a7f21613f01c531142.png)
ssh 登录远程的时候经常要输密码比较麻烦, 通过简单的设定就能够让你免密码登录
ssh-copy-id -i publickey -p port yourname@hostname
publickey指定的是你的公钥, 通常是在~/.ssh/id_rsa.pub这个位置, 没有的话可以通过ssh-keygen生成。
具体的sample 如下:
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 ubuntu@localhost
运行结果如下:
![ffa46fcaaa092e4fb57298f5af34a861.png](https://img-blog.csdnimg.cn/img_convert/ffa46fcaaa092e4fb57298f5af34a861.png)
红框部分有说key已经添加了,那就可以使用ssh登录而不需要输入密码了,登录效果如下
![addf8bcf7c3e4d177a364be64497a055.png](https://img-blog.csdnimg.cn/img_convert/addf8bcf7c3e4d177a364be64497a055.png)
你的key实际上是保存在远程机器的~/.ssh/authorized_keys,通过cat 可以查看到
![b6e1c8ded7edc2710e965a811d5fa574.png](https://img-blog.csdnimg.cn/img_convert/b6e1c8ded7edc2710e965a811d5fa574.png)
你也可以不使用ssh-copy-id 添加key,通过直接登录远程机器,编辑authorized_keys这个文件,在这个文件中追加你的publickey,也能做到免密码登录
想要知道其他更多的信息可以学习下面的内容
man ssh-keygen
man sshd
man ssh