linux配置无密码登陆,Linux下配置ssh无密码登录

假如你Linux Client是客户端, Server为服务器,用户名为user。现在要配置从Client到Server的无密码SSH登录。

1:在Client上产生一对密钥,执行ssh-keygen命令,需要输入的地方直接回车,接受缺省值即可,输出如下:

[user@Client .ssh]$ ssh-keygen -d

Generating public/private dsa key pair.

Enter file in which to save the key (/home/user/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/user/.ssh/id_dsa.

Your public key has been saved in /home/user/.ssh/id_dsa.pub.

The key fingerprint is:

22:0c:2e:64:09:2e:a9:f1:37:c5:ee:d9:e5:57:92:b4 user@Client

这时候,在/home/user/.ssh目录下,存有一对密钥id_dsa和id_dsa.pub。

2:当公钥id_dsa.pub以任何方式上传到Server上,如:

[user@Client .ssh]$ scp id_dsa.pub Server:/home/user

3:登录到Server上,执行以下命令

cat id_dsa.pub >> /home/user/.ssh/authorized_keys

这样就完成了配置,此时从Client登录Server,就无需输入密码了。这种方式是安全的,你完全不用担心别人从其它机器上也可以无密码登录Server。这个基本原理是这样:

你在client上产生的id_dsa和id_dsa.pub是一对密钥,只有用私钥id_dsa才能解开公钥id_dsa.pub。现在你把公钥存在服务器上,你登录服务器的时候,服务器会给提供经过公钥id_dsa.pub(其内容存在authorized_keys里)加密的数据让你解密,你的机器上用id_dsa这把私钥,去解密,解开之后Server放行。而别人的机器上没有id_dsa这个私钥,自然无法解密,从而无法无密码登录了。

当然,你要保证你机器上的私钥的安全。否则,如果别人取得了你的私钥,就好比别人取得了你房间的钥匙,然后就可以拿去开你家房门了0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值