Linux配置SSH免密码登录

Stella981
• 阅读 496

CentOS配置SSH免密码登录为例
说明:SSH远程登录的安全外壳协议有两种身份认证机制:
- 用户名+密码
-密钥登录
环境准备

host1:192.168.0.10
host2:192.168.0.11
下面以host1 ssh免密码登录到host2为例,进行说明
1、在host1主机下生成私钥/公钥对
执行如下命令一直回车即可。

[user@localhost ~]$ ssh-keygen -t rsa

命令执行完成后,在/home/user下生成.ssh目录,.ssh目录下有id_rsa和id_rsa.pub两个文件。

2、将host1主机下的id_rsa.pub复制到host2主机下
[user@localhost ]$ scp .ssh/id_rsa.pub user@192.168.0.11:

此时还没有免密码登录,所以要输入host2的密码

3、host2主机须将复制过来的id_rsa.pub文件中的内容添加到/home/user/.ssh/authorzied_keys文件中
需要修改authorized_keys文件的权限为600

[user@localhost ~]$ cat id_rsa.pub >> .ssh/authorized_keys

[user@localhost ~]$ chmod 600 .ssh/authorized_keys

现在host1主机可以无密码登录host2主机了
说明:第2、3步可以用一个命令搞定:ssh-copy-id 192.168.0.11

4、验证host1主机登录到host2主机
[user@localhost ~]$ ssh 192.168.0.11

总结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。
上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
想让host1,host2机无密码互登录,那host2主机以上面同样的方式配置即可。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
2年前
ssh 免密码登录 与 密钥公钥原理讲解
前言由于最近频繁需要登录几个服务器,每次登录都需要输入密码,故相对麻烦。由于个人服务器用于实验,故对安全性要求不是很高,故想实现ssh免密登录。通过阅读ssh公钥私钥认证操作及原理(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fliu
lucien-ma lucien-ma
2年前
Git避免每次都要输入密码,SSH公钥的生成和绑定
设置本机绑定SSH公钥,实现免密码登录在我们平时写完代码提交的时候,每次都要输入账号和密码,很烦很烦,浪费时间,这篇文章的目的就是为了让大家变的更加轻松配置SSH公钥实现免密提交:生成公钥sshkeygentrsa然后在C:\Users\ASUS\.ssh路径下找到idrsa.pub文件将里面的内容复制(ASUS是我当前用户的用户名
Chase620 Chase620
3年前
ssh-keygen详解
sshkeygen用来生成ssh公钥认证所需的公钥和私钥文件。ssh秘钥登录特点:1.安全;2.免输密码。对于安全级别较高的服务器,建议配好ssh登录后禁掉密码登录。缺点:略繁琐。如果你的只是临时登录一次,那么还是密码吧。一、生成秘钥秘钥对需要在你自己的机器上生成,然后把公钥放到服务器相应用户的~/.ssh目录执行下面命令,默认
Wesley13 Wesley13
2年前
SSH公钥免密登录其他主机
在多台主机之间使用SSH免密登录,假设主机A免密登录主机B:1\.在主机A上生成自己的ssh公钥:root@A~sshkeygentrsa执行上面命令,一路回车,完成后,会在~/.ssh目录下生成2个文件:id\_rsa(私钥)和id\_rsa.pub(公钥)2\.将主机A上生成的公钥
Easter79 Easter79
2年前
ssh配置免密码登录
生成公钥命令sshkeygen可在机器上生成公钥和相关文件,等待输入的时候可以直接回车使用默认配置admin@iZ280626x93Z~$sshkeygenGeneratingpublic/privatersakeypair.Enterfileinwhichtosave
Easter79 Easter79
2年前
ssh
sshkeygen生成gitssh密钥SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell。SSH登录是需要用户名和密码的,要实现无密码登录,就需要创建SSH密钥(sshkey),SSH密钥可以认为是和另一台电脑通信时
Easter79 Easter79
2年前
ssh连接服务器
1.概述ssh是一种网络通信协议,用于计算机之间的加密登录.一般用ssh连接服务器有两种方式:密码认证与密钥认证.密码认证就是通过传统的输入密码的方式登录,密钥认证就是把产生的公钥注册到服务器后,用私钥登录,这样就可以不用每次登录输入密码.特别适合作者这种脑残记不住密码的懒人.2.密码认证密码认证登录直接在终端使用ssh
Stella981 Stella981
2年前
Git使用总结
生成密钥1.打开GitBash,运行  \_sshkeygen  \_2.密钥生成空间\_~/.ssh/id\_rsa  \_(C:/User/.ssh)3.输入密码(不输入增直接回车跳过)4._~/.ssh/id\_rsa.pub_ (公钥), _id\_rsa_ (私钥)下载代码到本地
Stella981 Stella981
2年前
Linux单向免密登录最简配置
前置:两台linux,A和B需求:A免密登录B步骤:root用户登录A输入命令:sshkeygen之后一路按回车完成后进行公钥分发命令:sshcopyidi/root/.ssh/id\_rsa.pubB的IP示例:sshcopyidi/root/.ssh/id\_rsa.pub192.168.1
Stella981 Stella981
2年前
Jenkins入门(四)自动部署Jar到远程服务器
1\.配置远程服务器SSH免密登录1.本地客户端生成公私钥(一路回车默认即可),会在用户目录.ssh文件夹下创建公私钥localuser@localhost.ssh$sshkeygenlocaluser@localhost.ssh$lsid_rsaid_rs