Tips:ssh实现免密码的登录
2019-05-14 07:12 _liao 阅读(187) 评论(0) 收藏 举报一般访问linux服务器都是通过ssh的远程终端或者ftp来进行访问。而ssh工具在访问服务器时会强制要求手工输入用户和密码,这样就会打断一些自动化的脚本的执行。所以需要实现ssh免密码的登录。
要实现免密码的登录,首先要做ssh的环境下生成一个访问用户的密钥文件。比如需要访问的服务器的登录用户名是user,则在你本机win10环境下执行ssh的生成密钥的命令:
ssh-keygen -t rsa
首先会提示密钥文件的存放路径,以及是否需要设置密钥文件的访问密码,都直接回车即可。这样就会在指定目录下生成两个文件:id_rsa和id_rsa.pub。
然后登录到需要访问的服务器,在user用户的home目录下进入.ssh目录,编辑其中的authorized_keys文件(如果没有则手工创建),将id_rsa.pub文件的内容完整地复制到该文件尾部,然后保存。注意这里.ssh目录需要设置权限为700,authorized_keys需要设置为600。
设置完成后在你本地即可通过ssh或scp命令直接访问服务器,而不需要输入密码,通过-i参数来指定密钥文件。
ssh -i d:\id_rsa 。。。
免密码登录的流程说明:
1、本地向服务器发送一个连接请求;
2、服务器收到信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用所给的公钥加密,发送给本地机器;
3、.本地机器得到服务器的消息后,使用私钥进行解密,然后将解密后的字符串发送给服务器。服务器进行和生成的字符串对比,如果一致,则允许免登录。
浙公网安备 33010602011771号