ssh公钥登录

当你想免密码登录某台server,将要你那台操作的本机的pub公钥复制出去到server上

2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

复制公钥文件

将客户端中的用户公钥文件复制到SSH服务器中
公钥文件的复制可使用软盘、U盘或网络


将公钥内容追加到authorized_keys 文件

authorized_keys 文件保存在SSH服务器中用户目录的“.ssh”子目录中

authorized_keys用于保存所有允许以当前用户身份登录的SSH客户端用户的公钥内容

使用Windows来维护Linux服务器的人员可以使用WinSCP软件来传输公钥文件,如图7

如果服务器的目录中没有authorized_keys 文件,只需要将id_rsa.pub公钥文件的名称更改为authorized_keys,如果已经有了authorized_keys文件,使用 “>>”重定向符将用户公钥追加到authorized_keys文件中

cat id_rsa.pub >> ~/.ssh/authorized_keys

这里只需要将id_rsa.pub公钥文件的名称更改为authorized_keys就可以了。如图008

 

3、验证密钥的认证 
完成之后,ssh客户端用户xwg使用ssh登录到ssh服务器的root用户账号,其登录过程是不需要提示用户密码,而是直接使用密钥来进行认证,如果认证成功,就会以root的身份登录到ssh服务器中。

1,原理: 
密匙认证需要依靠密匙,首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),并把公匙放到需要远程服务器上。这样当登录远程服务器时,客户端软件就会向服务器发出请求,请求用你的密匙进行认证。服务器收到请求之后,先在你在该服务器的宿主目录下寻找你的公匙,然后检查该公匙是否是合法,如果合法就用公匙加密一随机数(即所谓的challenge)并发送给客户端软件。客户端软件收到 “challenge”之后就用私匙解密再把它发送给服务器。因为用公匙加密的数据只能用密匙解密,服务器经过比较就可以知道该客户连接的合法性。 

2,核心: 
将客户端的公钥拷贝到远端机器即可. 
这样客户端便可以无密码操控远端机器. 

3,公钥的生成: 
cd /root/.ssh; 
执行ssh-keygen -t rsa; 
生成id_rsa id_rsa.pub 
拷贝: 
scp id_rsa.pub 远端机器:/root/.ssh/authorized_keys(重命名)

原文地址:https://www.cnblogs.com/lexus/p/1910781.html