SSH免密登录原理

110 篇文章 0 订阅
95 篇文章 0 订阅

1.进入home目录下 cd ~

2.SSH是标准的协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理
,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。SSH提供了账号和密码两种登录方式。不同的是口令用户验证方式传输的是用户账号密码。而SSH用密钥登录更安全。
查看scp两边有没有协议,没有请安装:
运行yum install openssh-clients* -y安装

3.scp install.log root@另一外虚拟机的ip地址:/home/
假如 A  要登陆  B
在A上操作:
%%首先生成密钥对
ssh-keygen   (提示时,直接回车即可)
%%再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中
ssh-copy-id   B
ssh-keygen :生成公钥和私钥对
ssh-copy-id B的ip地址 拷贝公钥到对象的机子上并放到授权的文件下
然后在原先的机子上
ssh B的ip地址
不用输入密码

反过来也行。
exit 0 退出远程

4.免密登录的原理

4.1在A服务商上生成密钥(公钥和私钥 ssh-keygen -t tsa)

4.2将公钥拷贝给B服务器(ssh-copy-id B的ip地址)B服务器上回生成一个authorized_keys文件

4.3A向B发送一个请求

4.4获取到A的请求之后,在authorized_keys里面查找对应的(A的)用户名和ip,如果有,会生成一个随机的字符串,然后用A的公钥对该字符串进行加密,发送给A

4.5.A接收到B的字符串,用私钥进行解密,然后把解密后的字符串在发送给B

4.6.B接收到A的字符串,与生成的字符串进行对比,如果结果一样,运行免密

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSH登录原理是利用SSH公钥认证机制,即在客户端生成公钥和私钥,将公钥传输到服务器端,并将私钥保存在客户端。当客户端连接服务器时,服务器会向客户端发起挑战,客户端使用私钥对挑战进行签名,并将签名返回给服务器,服务器使用之前保存的公钥进行验证,验证通过后即可登录。 以下是实现SSH登录的步骤: 1. 在客户端上使用ssh-keygen命令生成公钥和私钥,命令格式如下: ``` ssh-keygen -t rsa ``` 2. 将生成的公钥传输到服务器端,可以使用ssh-copy-id命令,命令格式如下: ``` ssh-copy-id user@server ``` 这将会把公钥复制到服务器的~/.ssh/authorized_keys文件中。 3. 在客户端上保存私钥文件,通常保存在~/.ssh目录下。 4. 确保服务器端配置文件/etc/ssh/sshd_config中的PubkeyAuthentication参数为yes,表示启用公钥认证。 5. 确认客户端和服务器端的ssh服务都已经启动,然后就可以尝试使用ssh命令连接服务器,此时就不需要输入码了。 ``` ssh user@server ``` 注意事项: 1. 在使用ssh-keygen生成公私钥时,可以根据需要设置码,加强私钥的安全性。 2. 在使用ssh-copy-id将公钥复制到服务器端时,需要输入码。 3. 为了安全起见,建议只将公钥复制到需要登录的服务器上。如果需要在多台服务器之间进行登录,需要在每台服务器上重复执行以上步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值