SSH 基于公钥授权的无用户名、密码输入登录

发布时间:2020-11-25编辑:脚本学堂
本文介绍下,配置ssh基于公钥授权的无用户名、密码登录的方法,并介绍了SSH的安全认证机制,有需要的朋友参考下吧。

本节主要内容:
 SSH 基于公钥授权无用户名、密码登录。

linux机器的系统管理中,通过一台服务器调用另一台(或一批)服务器提供的程序或脚本,以实现一个简单的集中控制方式。
使用linux现成的SSH就可以做到。

不过,在使用SSH调用时,每次被访问服务器都要求提供用户名和密码。
所以,要想个办法,在使用SSH时不用每次都输入用户名和密码。

先来了解下SSH的安全认证机制。

在客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,可能会有别的服务器在冒充真正的服务器,无法避免被“中间人”攻击。

第二种级别(基于密匙的安全验证),需要依靠密匙,也就是你必须为自己创建一对密匙,并把公有密匙放在需要访问的服务器上。客户端软件会向服务器 发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密匙,然后把它和你发送过来的公有密匙进行比 较。如果两个密匙一致,服务器就用公有密匙加密“质询”(challenge)并把它发送给客户端软件。从而避免被“中间人”攻击。

在服务器端,SSH也提供安全验证。

在第一种方案中,主机将自己的公用密钥分发给相关的客户端,客户端在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解密数据, 从而实现主机密钥认证,确定客户端的可靠身份。

在第二种方案中,存在一个密钥认证中心,所有提供服务的主机都将自己的公开密钥提交给认证中心,而任何作为客户端的主机则只要保存一份认证中心的公开密钥 就可以了。在这种模式下,客户端必须访问认证中心然后才能访问服务器主机。

第二种级别的密钥授权的具体做法为:

1. 在访问服务器上输入命令,生成公钥:
 

#cd
  #ssh-keygen
  将在目录"/root/.ssh/"下生成公钥。

2. 复制公钥
 

  #cd /root/.ssh/
  #cat id_rsa.pub
  复制整个公钥。

3. 在被访问服务器上输入命令,生成密钥:
 

  #cd
  #ssh-keygen
  #cd /root/.ssh/
  #vim authorized_keys2
  【Ctrl v】将访问服务器的公钥复制到文尾,保存并退出。

4. 在访问服务器上调用被访问服务器的脚本时将不再需要输入用户名和密码。
   ssh -l root 被访问服务器IP地址 /被访问服务器脚本或程序的路径/test.pl

您可能感兴趣的文章:
linux下ssh无密码登录的配置方法
sshd配置用户与ip限制访问的例子
ssh登陆之忽略known_hosts文件的解决方法
putty实现自动登录的方法(ssh和ssh2)
ssh配置只允许某个IP以某个账号登录服务器的方法介绍
ssh终端中文乱码的解决方法
使用SSH Key实现安全的密钥证书方式登陆
限制IP通过SSH登陆linux服务器
ssh密钥对的配置方法
linux ssh 密钥详解
防止sshd被暴力破解
加强sshd服务的安全性设置
实现ssh自动登录的4种方法
配置ssh,scp自动登陆
linux上ssh配置指南