Linux有多种登录方式,比如telnet、ssh。支持ssh登录方式:口令登录和公钥登录

ssh登录方式:ssh [-l login_name] [-p port] [user@]hostname

口令登录:输入密码登录。

公钥登录:将本端设备的公钥加入到对端的公钥文件authorized_keys,可以免密码登录。

本文只阐述如何使用公钥免密码登录。

公钥登录原理:

所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

操作步骤:

1、登录远端设备,修改ssh配置,对应文件路径/etc/ssh/sshd_config或者/etc/sshd/sshd_config,放开如下配置项:

 RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径

确保权限,.ssh目录为700,authorized_keys权限为600,重启sshd服务:

service sshd restart

或者

systemctl restart sshd

2、本端生成公钥,运行如下命令:

ssh-keygen -t rsa

生成公钥文件id_rsa.pub和私钥文件id_rsa。

3、将公钥添加到远端.ssh/authorized_keys中,那么本端就可以免密码登录远端设备。

添加方法,诚所谓八仙过海,各显神通。

常用方法,通过scp命令拷贝。

scp local_file remote_file

比如本端设备192.168.24.16,远端设备192.168.24.17,用文件替换方式:

本端设备执行:
scp /root/.ssh/id_rsa root@192.168.24.17:/root/.ssh/authorized_keys 远端设备执行:
scp root@192.168.24.16:/root/.ssh/authorized_keys /root/.ssh/id_rsa

或者使用ssh-copy-id命令

ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.24.17 

关于ssh/sftp/ftp/ftps协议,后续记录。

Linux建立互信关系(ssh公钥登录)的更多相关文章

  1. [linux]SSH公钥登录

    由于口令密码容易泄露,SSH公钥登录相比口令登录更加安全.SSH可以轻松使用非对称加密技术给两台机子订立契约,步骤如下: 第一步 本地机生成秘钥对 指令:ssh-keygen 功能:在本地(~/.ss ...

  2. SSH 公钥登录

    一般使用SSH进行远程登录时需要提供密码,这也是我们所熟知的一种方式. 另外,就是通过公钥登录的方式,本文将简要介绍公钥登录的两种方法,建议使用方法二.本文也将简单演示公钥登录过程,以及强制使用公钥和 ...

  3. SSH公钥登录原理

    在平时工作中我们经常要远程登录服务器,这就要用到SSH协议: $ ssh user@host 主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录 密码口令登录 通过密码进行登录,主要流程为: ...

  4. Linux使用ssh-keygen实现SSH无密码登录

    一.原理简介: 1.SSH公钥认证的基本原理:     SSH是一个专为远程登录会话和其他网络服务提供安全性的协议.默认状态下SSH链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修 ...

  5. linux建立信任关系

    (1).切换到需要建立信任关系的用户(2).执行命令:ssh-keygen  -d,然后一直回车.该命令会在用户home目录下生成一个隐藏的.ssh目录.目录里面有两个文件:id_dsa.id_dsa ...

  6. SSH公钥登录和RSA非对称加密

    SSH登录方式 接触过Linux服务器的同学肯定用过SSH协议登录系统,通常SSH协议都有两种登录方式:密码口令登录和公钥登陆. 一.密码口令(类似于账号密码登录) 1.客户端连接服务器,服务器把公钥 ...

  7. linux expect详解(ssh自动登录)

    shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...

  8. ssh 公钥登录远程主机 并禁止密码登录

    https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-centos7 如果在新的机器上,得先用密码登录一 ...

  9. Linux学习笔记总结--ssh认证登录

    原理简介 SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key).公钥用于对数据进行加密,而且只能用于加密.而私钥只能对使用所匹配的公钥,所加密过的 ...

随机推荐

  1. ACM-SG函数之S-Nim——hdu1536 hdu1944 poj2960

    S-Nim Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. Vcenter虚拟化三部曲----Vcenter server 5.5安装部署

    配置SQL Server 2008 R2 1.选择启动 SQL Server Management Studio. 2.选择SQL Server 身份验证登录 ---- 输入sa用户及密码. 3.右键 ...

  3. 网站jcms流程分析

    本实例大致流程:基于jsp页面,通过servlet传递数据调用方法,利用service更改数据库.本文重点分析的是其中的两个小方法add()和delete(),来反映出反射机制的一个具体作用:减少Se ...

  4. C++练习 | 创建并倒序输出不带头结点的链表

    #include <iostream> #include <cstdio> #include <stdlib.h> #include <stack> u ...

  5. Mysql 查询是否锁表

    1.查询是否锁表show OPEN TABLES where In_use > 0; 2.查询进程 show processlist 查询到相对应的进程===然后 kill id 补充:查看正在 ...

  6. float(浮动)的属性和使用方法

    1float浮动的属性值 left:向左浮动 right:向右浮动 2.当父元素未浮动,子元素浮动时,就会造成浮动塌陷 实例: 父元素: #mainDiv{ border: 5px solid red ...

  7. 关于虚拟机linux网络的一个问题(基于cntos7)

    刚刚开始学习搭建Linux集群,目前出现的比较麻烦的一个问题是Linux网络ip问题.其实网上好多出现类似问题的解答大部分说是因为克隆的问题,但实际情况先克隆产生的问题应该是很好排查的.所幸,有博主针 ...

  8. Office 365部分安装及同时安装Visio的方法

    From MWeb Win版本的Office 365安装包默认安装所有组件,没有选择的页面,在安装Office 365后再安装下载的Visio 2016专业版时,会显示计算机上已经安装了即插即用Off ...

  9. C语言中的if与else if

    今天发现一个比较不理解的代码,是关于else if这个判断语句的代码.代码如下 #include<stdio.h> ; int main(void) { ) { printf(" ...

  10. Python3 图像识别(一)

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.环境准备: 1.Python3.x(我是用的是Python3.6.5),这个问题不大,只要3.4以上就OK. ...