Linux 实现密钥免密登录
Linux 实现密钥免密登录
环境:CentOS 7
一、 创建密钥
登录Linux,进入/root/.ssh/目录下
执行ssh-keygen -t rsa创建密钥一直回车即可,因为是免密所以直接回车略过;执行完之后会在/root/.ssh/下生成两个文件id_rsa、id_rsa.pub分别为私钥和公钥,如果对密钥长度有限制的话可以执行ssh-keygen -t rsa -b 4096
二、创建信任
把生成的公钥文件id_rsa.pub下载、上传到目标服务器上,也可以直接通过命令ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.1传过去,不过命令默认端口是22
登录目标服务器,相同的目录/root/.ssh/下查看有没有authorized_keys文件,没有的话需要创建一个,命令是touch authorized_keys ,创建后授权600 ,把公钥文件id_rsa.pub追加到authorized_keys文件中,命令是 cat 192.168.1.1.pub >> authorized_keys,注意是双箭头>>单箭头会覆盖文件中的内容。
三、免密登录
ssh root@192.168.1.55 *//这种是使用自己的公钥登录目标服务器
使用公钥登录,需要把本地生成的公钥添加到目标服务器的 authorized_keys文件中
使用目标服务器的私钥登录,需要两步
第一步:在目标服务器上生成密钥对,把目标服务器自己的公钥添加到目标服务器自己的 authorized_keys信任文件中
第二步:把目标服务器的私钥拷贝到你本地的服务器
# 这里的 id_rsa 私钥文件是目标服务器的私钥文件
ssh -i id_rsa root@192.168.1.5
四、免密登录普通用户
流程大致一样,root用户是在/root/.ssh/目录下;普通用户是在/home/用户/.ssh/目录下,没有的话需要手动创建
mkdir /home/demo/.ssh //创建文件夹,授权700
touch /home/demo/.ssh/authorized_keys //创建文件,授权600
cat /home/demo/.ssh/id_rsa.pub >> /home/demo/.ssh/authorized_keys //追加公钥
基于密钥认证的配置
vim /etc/ssh/sshd_config
PasswordAuthentication no //禁止使用基于口令认证的方式登陆
PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆
/etc/init.d/sshd reload
五、网上找到的一些资料
1、普通用户切换到root权限且无需输入密码,在root模式下进行以下操作
visudo //最后一行加入
Cmnd_Alias SU = /bin/su
oper ALL = (root) NOPASSWD: SU
六、实践操作
ssh-keygen
[root@hdss7-200 ~]# cd .ssh/
ssh-copy-id hdss7-200.host.com
scp -r .ssh/ 10.4.7.11:/root/
Linux 实现密钥免密登录的更多相关文章
- Linux 双向 SSH 免密登录
原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...
- linux 远程ssh免密登录
写在前面 先说说需求: 我们平时开发.运维操作linux过程中经常需要实现将远程文件拷贝到本地或者本地文件拷贝到远程:执行远程命令等操作:这个时候建立ssh免密登录应该是一个比较好的选择: 原理 在l ...
- linux上ssh免密登录原理及实现
因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...
- Linux机器间ssh免密登录
前言 一台Linux机器通过ssh的方式连接别的机器或通过scp的方式传输文件,都需要输入密码. 为了解决每次输入密码的困扰,可采用添加密钥的方式实现. 实现过程 源服务器A,目标服务器B. 1.在源 ...
- Linux的SSH免密登录(一)
1.从cp/scp命令出发 scp(secure copy)是linux系统下基于ssh登录进行安全的远程文件拷贝的命令. 1. 传递文件到远程 scp local_file remote_usern ...
- linux 配置ssh免密登录
一.SSH概念(百度) SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目 ...
- 【Linux】ssh免密登录
一.ssh免密配置 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例.有机器A(192.168.1.155),B(192.168. ...
- Linux的SSH免密登录认证过程研究
一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成 ...
- Linux服务器配置SSH免密登录
SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定:SSH为建立在应用层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服 ...
随机推荐
- HTTP请求方式及常见问题
请求方式 当前HTTP一共有八种方式.有三种是有HTTP1.0提供,剩余五种则是有HTTP1.1提供 常见问题 啥是OPTIONS?有啥作用 是浏览器对复杂跨域请求的一种处理方式,在真正发送请求之前, ...
- React Native 报错 Error: spawn EACCES 权限
权限不足,运行命令修改权限 chmod android/gradlew
- 第 13 篇:DRF 框架之 API 版本管理
作者:HelloGitHub-追梦人物 API 不可能一成不变,无论是新增或者删除已有 API,都会对调用它的客户端产生影响.如果对 API 的增删没有管理,随着 API 的增增减减,调用它的客户端就 ...
- minSdkVersion、targetSdkVersion、compileSdkVersion三者的作用解析
1. minSdkVersion minSdkVersion限制安装application所需要的系统最低版本,低于该版本的系统都不可以安装该application.同时不能使用该level版本SDK ...
- 朝阳大妈也能听懂的git教程 (好人不谢)
1 核心概念(非常简单) 分支 同一个树关节 长两个分叉 每一个树关节 就是一个commit commit 是纵向纬度的版本 分支(branch) 是横向纬度的版本 (发挥想象力 自己 ...
- logging日志基础示例
import logging logger = logging.getLogger() # 获取日志对象 logfile = 'test.log' hdlr = logging.FileHandler ...
- Python 访问字符串中的值
Python 访问字符串中的值 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用.高佣联盟 www.cgewang.com Python 访问子字符串,可以使用方括号来 ...
- PHP is_executable() 函数
定义和用法 is_executable() 函数检查指定的文件是否可执行. 如果文件可执行,该函数返回 TRUE. 语法 is_executable(file) 参数 描述 file 必需.规定要检查 ...
- JavaScript动画实例:圆点的衍生
考虑如下的曲线方程: R=S*sqrt(n) α=n*θ X=R*SIN(α) Y=R*COS(α) 其中,S和θ可指定某一个定值.对n循环取0~999共1000个值,对于每个n,按照给定的坐标方程, ...
- Linux用C语言模拟‘ls‘命令
原理 在linux下使用C语言,通过调用Linux系统的目录访问API来实现一个类似于ls命令功能的小程序,主要是可以练习程序对命令的解析和目录API函数的使用. 实现代码 #include < ...