SSH之免密登入

2019-05-06 12:38 来源:未知

又来了,上头让小轩笔者在服务器中写三个Shell脚本,首要用来在机器B中定期备份机器A中的一些文本。那么,小轩是怎么想的啊?

壹:ssh原理图为:

  1. 在小轩的知识Curry,未来有scp和ssh多个玩具。其余还真未有其它什么事物了。这就想直接用scp去远程复制好了,可是scp复制的时候还要输入密码。那就搞搞让使用scp的时候不用输入密码好了。

韦德国际1946官网 1

以下进入正文

壹、正是为着让多个linux机器之间采取ssh无需用户名和密码。选用了数字签名奥迪Q3SA只怕DSA来成功这几个操作

忽略ssh安装scp安装过程。默认认为当前机器与远程机器含有完整的ssh,scp功能

二、模型分析

  • 第二在机器B中选用ssh-keygen -t rsa 命令 (想来玩git的童鞋应该理解吗~)
    [hart02@hart02 .ssh]$ ssh-keygen -t rsa
    韦德国际1946官网 2

假定 A (1玖二.16八.20.5玖)为客户机器,B(1九二.168.20.60)为目的机;

  1. Enter file in which to save the key (/home/hart02/.ssh/id_rsa):直接按enter键

  2. 将来提示Enter passphrase (empty for no passphrase):意思是说请输入密码,假设不输入则为未有密码。当然,小轩使用的enter键~之后正是重复输入密码了。一遍一定要保持一致哦~,借使第四回不输入,第叁次也还要输入哦~

要完成的指标:
A机器ssh登陆B机器无需输入密码;
加密艺术选 rsa|dsa均能够,默许dsa

注:小轩的机器已经生成过了,所以此时提示说/home/hart02/.ssh/id_rsa already exists.

 

  1. 输入达成后就能够油不过生那样的分界面(此界面是小轩在测试机器上再一次生成的截图,多少个首要的东西已经首要标识出来了)
    韦德国际1946官网 3
    从上海教室中大家能够驾驭到变化的公物钥存放在/user/.ssh/目录下user为眼下登入用户家目录。

二、具体操作流程

下图中authorized_keys不会自动生成。在当前机器B中临前卫未什么用场
韦德国际1946官网 4

 

现行反革命大家在机器A中展开操作,其操作如上述手续一样。当生成终结时,大家touch 一个文件,文件名叫authorized_keys
韦德国际1946官网 5

单向登录的操作进程(能满足上面的指标):
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会扭转密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
三、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
四、马到成功,从A机器登入B机器的对象账户,不再需求密码了;(直接运维 #ssh 192.168.20.60

要害的来了~~:

 

  1. 在机器B中使用cat id_rsa.pub查阅一下公钥,然后复制那一串东西~
  2. 在机器A中,vim authorized_keys 把复制的东西粘贴到A机器中的那几个文件之中。
  3. ESC -> :wq! -> enter 保存退出
    韦德国际1946官网 6

  4. cat authorized_keys 确定保证写入成功

  5. chmod 600 authorized_keys 修改文件权限
    韦德国际1946官网 7
  6. 如上步骤做完事后自然要做一下/etc/init.d/sshd restart 把ssh服务重新起动一下。
    韦德国际1946官网 8

韦德国际1946官网,双向登入的操作进程:

由来。ssh免密登录配置完毕。说的好听,不及看看效果:
韦德国际1946官网 9

一、ssh-keygen做密码验证能够使在向对方机器上ssh ,scp不用采纳密码.具体方法如下:
贰、三个节点都实践操作:#ssh-keygen -t rsa
  然后整个回车,选拔默许值.

OK,下章来做scp远程复制脚本的认证~

三、那样生成了壹对密钥,存放在用户目录的~/.ssh下。
将公钥考到对方机器的用户目录下 ,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys )。

4、设置文件和目录权限:用hadoop 用户打开/home/hadoop 主目录,若是是多台linux ,最棒每台上的用户名建成一样

设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh

 

5、要保证.ssh和authorized_keys都唯有用户本身有写权限。不然验证无效。(前几天正是遭遇那一个难题,找了恒久难点所在),其实仔细思忖,那样做是为了不会并发系统漏洞。

小编从20.60去访问20.5九的时候会唤醒如下错误:

 

Java代码  韦德国际1946官网 10

  1. The authenticity of host '192.168.20.59 (192.168.20.59)' can't be established.  
  2. RSA key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.  
  3. Are you sure you want to continue connecting (yes/no)? yes  
  4. Warning: Permanently added '192.168.20.59' (RSA) to the list of known hosts.  
  5. root@192.168.20.59's password:   
  6. Permission denied, please try again.  
  7. root@192.168.20.59's password:   
  8. Permission denied, please try again.  
  9. root@192.168.20.59's password:   
  10. Permission denied (publickey,gssapi-with-mic,password).<textarea class="java" style="display: none;" name="code">The authenticity of host '192.168.20.59 (192.168.20.59)' can't be established.  
  11. RSA key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.  
  12. Are you sure you want to continue connecting (yes/no)? yes  
  13. Warning: Permanently added '192.168.20.59' (RSA) to the list of known hosts.  
  14. root@192.168.20.59's password:   
  15. Permission denied, please try again.  
  16. root@192.168.20.59's password:   
  17. Permission denied, please try again.  
  18. root@192.168.20.59's password:   
  19. Permission denied (publickey,gssapi-with-mic,password).  
  20. </textarea>  

 

三、总括注意事项

一、文件和目录的权限千万别设置成chmod 777.那一个权力太大了,不安全,数字具名也不帮忙。笔者伊始图方便就那样干了

二、生成的rsa/dsa签字的公钥是给对方机器使用的。那么些公钥内容还要拷贝到authorized_keys

(注意,就算是3台以上的linux机器如hostname h一,h二,h三 ,每台上的用户名字为hadoop,则把具备机器上的

/home/hadoop/.ssh/id_dsa.pub  用 scp copy到1台机械中的一个索引下,都写入到/home/hadoop/.ssh/authorized_keys 中,使它产生2个涵盖全数公钥的大文件,再把那一个文件公别copy到每1台linux下的/home/hadoop/.ssh /authorized_keys 下,再修改权限为600 )

三、linux之间的拜会直接 ssh 机器ip

肆、有些机器生成自个儿的兰德酷路泽SA或然DSA的数字具名,将公钥给目标机器,然后指标机器接收后设定相关权限(公钥和authorized_keys权限),那一个指标机就能够被变型数字签字的机器无密码访问了


 

linux建设构造信任,已增添到authorized_keys,正是不成事;权限难题

2013年6月14日 DigDeeply

跳到辩论

Linux主机间创立信任关系
在主机A和主机B间创建信任关系,使主机A能够无密码ssh登入主机B.

  1. A主机上试行 ssh-keygen -t rsa -b 拾二肆 (也足以选择 ssh-keygen -t dsa -b 十二四)
  2. 主目录下生成 .ssh目录
  3. 进入~/.ssh目录
  4. 执行 cat id_rsa.pub 将呈现结果复制 (也得以运用cat id_dsa.pub,这些貌似有现有的)
  5. B主机上进入主目录下的~/.ssh(如若未有,则奉行ssh-keygen生成)
  6. 将复制的结果粘贴到B主机.ssh目录下的authorized_keys文件的末段1行
  7. ok,信任关系创设了,在主机A上施行 ssh user@B 第二回进行,会唤醒多个确认,选用yes回车,结果不用输入密码,登入成功!

里头有三点要求留意的地点,若是已经根据以上办法做了,依旧不得以,那就根据上边叁条比较一下:

  1. authorized_keys 文件必须是600权力(也正是-rw——-)大概64肆
  2. .ssh目录必须是700权力(也正是drwx——)
  3. /home/work目录 必须是 755权限 即drwxr-xr-x

第(三)条太坑了,就因为 /home/user 目录是77柒,不是75五,怎么都充裕,信任关系建不起来,最后把/home/user目录的权位由77⑦改成75五就立解决了。。。>_<,好大的坑啊。。。

 

TAG标签: 韦德娱乐1946
版权声明:本文由韦德娱乐1946_韦德娱乐1946网页版|韦德国际1946官网发布于韦德国际1946官网,转载请注明出处:SSH之免密登入