ssh登录原理及免密登录

一、ssh登录原理

之前 这篇博客:将Linux设备设置为服务器 ,是让windows访问server的。现在想用linux主机访问另一台linux主机,实现免密登录,其登录原理如下:
这里写图片描述

二、免密登录的实现

按原理走就行了(事先在两台机器的/etc/hosts文件中添加ip)
1. client generate a pair of keys

ssh-keygen -t rsa

一切按默认设置即可
2. cp public key to server

cd ~/.ssh
scp id_rsa.pub another_hostname:~

3.切换到server主机中!!!!, put public key into authorized keys

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys #没有的话,就先创建

4.设置文件权限
在server下:

sudo chmod 755 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys 

5.设置no password登录
在server下:

sudo visudo

作如下修改
这里写图片描述
按默认保存即可,即:sudoers.tmp

不出意外,即可免密登录server了!

——————————————————over————————————————————————
补充一条:
私钥登录命令:

ssh -i ~/.ssh/id_rsa another_username@hostname

————————————————————2017.12.15更新—————————————————-
启动hadoop服务时,在linux上原本以为可以免密,结果报错:sign_and_send_pubkey: signing failed: agent refused operation。
这里写图片描述
解决办法:

ssh-add

顺便查看添加了哪些key

ssh-add -l

顺利解决,免密启动hdfs:
这里写图片描述

————————————————————更新完毕—————————————————————–

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中建立安全的远程连接。SSH实现session免密登录原理主要涉及公钥加密和身份验证两个方面。 1. 公钥加密: 在SSH中,使用公钥加密算法来实现安全通信。在免密登录中,首先需要生成一对密钥,包括公钥和私钥。用户将公钥保存在远程服务器上,而私钥则保存在本地。当用户发起SSH连接请求时,远程服务器会向用户发送一个随机数(称为challenge)。用户使用私钥对challenge进行加密,并将加密后的结果发送给服务器。服务器使用之前保存的公钥对加密结果进行解密,如果解密成功,则说明用户拥有对应的私钥,可以被认证通过。 2. 身份验证: 在公钥加密的基础上,SSH还需要进行身份验证来确保连接的安全性。常见的身份验证方式有两种:密码身份验证和公钥身份验证。 - 密码身份验证:用户在连接时需要输入密码进行身份验证。但是,在免密登录中,我们希望避每次都输入密码,因此需要使用公钥身份验证。 - 公钥身份验证:在免密登录中,用户将自己的公钥保存在远程服务器上。当用户发起SSH连接请求时,服务器会将保存的公钥与用户发送的加密结果进行比对,如果匹配成功,则认为用户身份验证通过。 综上所述,SSH实现session免密登录原理是通过公钥加密和身份验证来确保连接的安全性和密码输入的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值