当你想免密码登录某台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(重命名)