ssh 连接 通过公钥体制,无密码登陆
2013-05-29 19:17
330 查看
每个用户~目录下有.ssh 目录 没有的话可以自己建,通过公钥体制可以做到很多个用户可以登陆linux 系统上的同一个用户,而他们都不知道出这个用户的密码,并且互相不知道各自的私钥,(他们持有不同的私钥,而其各自相对应的公钥都是这个用户可以信任的)
假设 我的系统上有一个用户名为git ,另外有两个用户user1 ,user2 我现在想做到 它们运行
ssh git@localhost 时, git 自己、及user1 不需要输入密码,而user2 却需要输入密码
首先,我们想让git ,user1 可以通过公钥体制的证而不需要输入密码。那么他们各自应该有相应的公钥私钥对。
然后git 用户把它信任的公钥加入到信任列表中(包括自已的公钥及user1的),
生成公钥私钥的命令是ssh-keygen
首先给git 用户生成,以git 用户登陆。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/45a31e77d9496f6e035e463a3234b397.gif)
在/home/git/.ssh/ -lh 目录下生成了两个文件id_rsa ,id_rsa.pub 前者为私钥,后者为公钥,私钥自己保留,公钥可以任意公开,
然后user1 用户做同样的处理在/home/user1/.ssh/目录 下也会生成这两个文件
然后要做的就是把git ,user1 用户的公钥导入到git 用户我信任列表中,也就是/home/git/.ssh/authorized_keys文件
首先导入git 用户的公钥。
git .ssh $ cat /home/git/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys
然后是导入user1 的公钥,
user1 .ssh $ cp /home/user1/.ssh/id_rsa.pub /tmp/ (user1 用户运行此命令)
git .ssh $ cat /tmp/id_rsa.pub >>/home/git/.ssh/authorized_keys (git 用户导入user1 的公钥)
这是git 第一次登陆,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/73d592a1131fab4f4a1d436762b61ccd.gif)
这是第二次登陆,不再出现提示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/838db0a961fee266f460233915f22d47.gif)
user1 也应该可以登陆,
而user2 登陆,则会提示输入密码,如
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/550ff2230e8e4383bf388eb8734ffb11.gif)
注意/home/git/.ssh/id_rsa /home/user1/.ssh/id_rsa 是私钥,要保存在自已的~/.ssh 目录,在登陆ssh 时,ssh会主动用这个文件与服务器端进行验证
假设 我的系统上有一个用户名为git ,另外有两个用户user1 ,user2 我现在想做到 它们运行
ssh git@localhost 时, git 自己、及user1 不需要输入密码,而user2 却需要输入密码
首先,我们想让git ,user1 可以通过公钥体制的证而不需要输入密码。那么他们各自应该有相应的公钥私钥对。
然后git 用户把它信任的公钥加入到信任列表中(包括自已的公钥及user1的),
生成公钥私钥的命令是ssh-keygen
首先给git 用户生成,以git 用户登陆。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/45a31e77d9496f6e035e463a3234b397.gif)
在/home/git/.ssh/ -lh 目录下生成了两个文件id_rsa ,id_rsa.pub 前者为私钥,后者为公钥,私钥自己保留,公钥可以任意公开,
然后user1 用户做同样的处理在/home/user1/.ssh/目录 下也会生成这两个文件
然后要做的就是把git ,user1 用户的公钥导入到git 用户我信任列表中,也就是/home/git/.ssh/authorized_keys文件
首先导入git 用户的公钥。
git .ssh $ cat /home/git/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys
然后是导入user1 的公钥,
user1 .ssh $ cp /home/user1/.ssh/id_rsa.pub /tmp/ (user1 用户运行此命令)
git .ssh $ cat /tmp/id_rsa.pub >>/home/git/.ssh/authorized_keys (git 用户导入user1 的公钥)
这是git 第一次登陆,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/73d592a1131fab4f4a1d436762b61ccd.gif)
这是第二次登陆,不再出现提示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/838db0a961fee266f460233915f22d47.gif)
user1 也应该可以登陆,
而user2 登陆,则会提示输入密码,如
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/550ff2230e8e4383bf388eb8734ffb11.gif)
注意/home/git/.ssh/id_rsa /home/user1/.ssh/id_rsa 是私钥,要保存在自已的~/.ssh 目录,在登陆ssh 时,ssh会主动用这个文件与服务器端进行验证
相关文章推荐
- ssh 连接 通过公钥体制,无密码登陆
- 【转载】 ssh 连接 通过公钥体制,无密码登陆
- 【RFS】【robotframework_2】连接数据库密码直连&ssh公钥方式登录
- Linux 通过rsa公钥实现ssh免密码登录
- 详解ssh通过公钥密码、免密码登录以及导入公钥文件三种形式实现远程登录
- ssh公钥密钥无密码登陆
- Xshell5配置ssh免密码登录-公钥与私钥登录linux服务器(xshell如何登陆上阿里云服务器)
- 通过证书方式实现ssh的无密码登陆
- Linux下通过SSH方式登陆不需要密码的方法 SSH without password
- ssh通过密钥连接笔记(不用输入密码)
- Xshell5配置ssh免密码登录-公钥与私钥登录linux服务器(xshell如何登陆上阿里云服务器)
- SSH 公钥免密码登陆
- SSH如何通过公钥连接云服务器
- ssh 公钥免密码登陆
- 【越狱开发】通过数据线连接使用ssh登陆到iOS 设备
- SSH如何通过公钥连接云服务器
- mac通过ssh连接阿里云(不需要输入密码哦)
- 通过安装RSA密钥实现ssh免密码登陆
- ssh无密码公钥登陆
- SSH如何通过公钥连接云服务器