ssh免秘钥快速配对。
前言 :先 cd /root/.ssh 执行ssh-copy-id 如果提示:command not found 就yum -y install opennssl-clients (必须先确定,如果升级ssh后执行Yum安装的openssl-clients系统会找/usr/bin的yum的ssh,会覆盖隐掉二进制安装的ssh)
当然不安装也可以省事的办法是:cat /root/.ssh/id_*.pub | ssh user@ip 'cat >> .ssh/authorized_keys'
然后检查要配对的机器ssh版本是否一致:ssh -V
不一致就会提示Enter passphrase for key '/root/.ssh/id_rsa': 让输入私钥的密码,当然这样的提示也有会有其他原因,我这里是因为版本问题。
关于升级ssh请跳转至
https://segmentfault.com/a/1190000008890926
这里不做详解,按照步骤就可以升级成功,升级后如果连接提示密码,请重启服务器,一次不行重启2次,后续就正常了,这是我遇到问题解决办法。
========================================正题===================================================================
1,ssh-keygen -t rsa -P '' 生成秘钥对一路回车。
2,cd /root/.ssh/
[root@192.168.1.2 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
3.ssh-copy-id -i id_rsa.pub root@192.168.1.3 //将公钥用ssh命令传送过去,提示选择yes,输入1.3的密码
Now try logging into the machine, with "ssh 'root@192.168.1.3'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
出现这样的画面就说明成功了。
[root@192.168.1.2 .ssh]#ssh 192.168.1.3 连接实验。
Last login: Thu Nov 22 13:53:54 2018 from 223.71.70.3
Welcome to Alibaba Cloud Elastic Compute Service !
ifconfig 查看下。
eth0 Link encap:Ethernet HWaddr 00:16:3E:0C:D3:20
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.225.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:160505418 errors:0 dropped:0 overruns:0 frame:0
TX packets:170007258 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18405747186 (17.1 GiB) TX bytes:305412001306 (284.4 GiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:9891200 errors:0 dropped:0 overruns:0 frame:0
TX packets:9891200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3422409503 (3.1 GiB) TX bytes:3422409503 (3.1 GiB)
反之亦然,在192.168.1.3操作上面的步骤,如果新添加服务器步骤一样。
------------------------------------------------------------------------------
关于连接普通账号还是提示输入密码的解决办法。
普通用户进入后如果没有~/.ssh目录,那就创建个 mkdir ~/.ssh,并且要把目录权限设置成cmod 700 ~/.ssh
而后手动创建authorized_keys文件,chmod 600 authorized_keys
权限设置好就不会提示密码输入了。