ssh配置公钥私钥登录服务器
原理
密码的方式的即时认证的方式 。而公私钥 是在服务器保存一份已经通过认证的加密串,登录时通过这个加密串去认证。
公钥是可以传播的,私钥只能在自己的本地
公私钥的工作原理, 可以参考这篇文章: SSH公钥登录(私钥认证)原理
生成 公私钥
有机器A,B。现想A通过ssh免密码登录到B。
ls -al ~/.ssh
检测 A主机下是否已经生成过 SSh key , 如果存在 id_rsa 和 id_rsa.pub 的话,说明已经生成过 SSH key 了。可以直接下一步。 否则要先生成。
使用 ssh-keygen 命令 , your-email@example.com 替换为你的邮箱。
> ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
命令行会提示让你指定秘钥的名称,按回车键将 SSH Key 保存到默认文件名即可:
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
如果要更改路径,这里要输入绝对路径,不然就出现在根目录
/下了。(一般不要修改,默认路径最好)
接下来会询问你为 SSH Key 设置密码,按回车键即可,默认为空密码:
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
不输入,直接回车就是空密码了
这一步的密码一定要注意 。 设置为空密码,才能免密码登录, 否则就是要密钥的密码了。 有较多新手朋友烂在了这一步 。明明设置了密钥,却还是要输入密码。就是这个原因了。
可以都选择默认,一路 Enter 键即可.
这个时候如果我们再使用:
> ls -al ~/.ssh
id_rsa id_rsa.pub known_hosts
SSH 秘钥的两个文件:
id_rsa —— SSH 秘钥的 私钥 (Private Key)
id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)
B 主机设置公钥
把A机下的/root/.ssh/id_rsa.pub 复制到B机的 /root/.ssh/authorized_keys文件里,先要在B机上创建好 /root/.ssh 这个目录。
两种方式:
一:
ssh-copy-id root@192.168.1.181
二:用scp复制。
[root@A ~]# scp /root/.ssh/id_rsa.pub root@192.168.1.181:/root/.ssh/authorized_keys
root@192.168.1.181's password:
id_rsa.pub 100% 223 0.2KB/s 00:00
由于还没有免密码登录的,所以要输入一次B机的root密码。
需要特别注意的是:B主机的.ssh文件的所有者要是root,如果不是要改:
chown -R root:root .ssh
同时,B主机的authorized_keys文件,要是600权限的,如果不是,也要改:
chmod 600 authorized_keys
A主机使用公钥免密登录B主机的root用户
[root@A ~]# ssh -l root 192.168.1.181
第一次登录是时要你输入yes。
现在A机可以无密码登录B机了。
小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
想让A,B机无密码互登录,那B机以上面同样的方式配置即可。
参考文章: https://blog.csdn.net/qq_31016531/article/details/78850162
ssh配置公钥私钥登录服务器的更多相关文章
- 配置SecureCRT以SSH公钥方式登录服务器
为了更方便管理服务器,CRT一个功能非常方便.那就是可以使用私钥认证通过后直接连接,而且对于密码保护比较安全一点. 首先配置ssh Port 32812Protocol 2UseDNS noPubke ...
- ubuntu git生成ssh key (公钥私钥)配置github或者码云
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...
- SSH配置免密登录
[参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mi ...
- CentOS下SSH远程免密登录服务器
.5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...
- [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...
- ssh配置免密码登录
日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* ...
- Linux SSH使用公钥私钥实现免登陆
公钥和私钥(我是文盲,钥字之前都是读yao,这是多音字这里应该念yue),是成对出现的,一旦任何一个做了更改都会验证失败. 1.免登陆的实现: 使用下例中ssky-keygen和ssh-copy- ...
- ssh配置无password登录
前提.机器A,B,均为RedHat Linux操作系统,均实用户user 1.以usernameuser登录,在A机器上运行 ssh-keygen -t rsa 一路回车.不须要输入password ...
- 支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对
进入到第一次配置支付宝支付服务了 配置支付宝服务,需要去支付宝的开放平台申请服务 需要设置一些参数 其中需要在后台设置配置RSA(SHA1)密钥(公钥(注意这个子读"yao")) ...
随机推荐
- PWA 学习笔记
深入学习网址:https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps 一. 基本介绍 1. 渐进式:适用所有浏览器,因为它是 ...
- Ubuntu14.04安装tomcat-9.0.1的教程
系统环境:Ubuntu14.04 Tomcat安装版本:Apache tomcat 9.0.1 下载地址:http://tomcat.apache.org/download-90.cgi 安装包:ap ...
- IP切换脚本
1. 新建bat文件: 2. 将下面内容拷贝进bat文件: 3. 运行bat文件: @echo off color 00title IP切换脚本:start @echo --------------- ...
- DotNet 源码学习——QUEUE
1.Queue声明创建对象.(Queue为泛型对象.) public class Queue<T> :IEnumerable<T>,System.Collections.ICo ...
- Android Binder实现浅析-Binder驱动
简介 Android是如何实现跨进程通信的,大家熟悉的Binder是什么,怎么设计的,进程间的数据如何发送接收的.本文将以及解析,并对Binder驱动实现.Native层实现.Java层实现三块做一个 ...
- Android 有关在ListView RecycleView 中使用EditText Checkbox的坑
这是一篇文字超多的博客,哈哈哈,废话自行过滤··· 遇到问题 在开发中我们常会在ListView , RecycleView 列表中添加EditText输入框,或者checkbox复选框. 复选框 ...
- clr via c# Array2
1,Array类型生成方式以及实际类型 private static void ArrayIntro() { String[] sa = new String[1]; Array a1 = Array ...
- 使用CSV Data Set Config配置原件,参数化数据
对接口数据的参数化方式大概有三种方式,1:jmeter内置函数:2:借助CSV Data Set Config配置原件:3:jdbc连接数据库,使用数据表字段 此处主要讲第二种:借助CSV Data ...
- 吴裕雄--天生自然 R语言数据可视化绘图(1)
par(ask=TRUE) opar <- par(no.readonly=TRUE) # make a copy of current settings attach(mtcars) # be ...
- ArchLinux下electronssr无法启动的解决措施
ArchLinux下electronssr无法启动的解决措施 今天重新配置electron-ssr时发现闪退(无法启动). 于是开始查错 首先是找到了目录位置 /usr/electron-ssr/el ...