美文网首页
两步,达成SSH命令,免密登录目标机器

两步,达成SSH命令,免密登录目标机器

作者: 催化剂 | 来源:发表于2020-03-03 15:44 被阅读0次

    目标:登录目标服务器的时候,不需要输入密码,直接  ssh root@IP地址,或者 ssh root@主机名称(在/etc/hosts中有配置)

    SSH 密钥对 最直观的作用:让你方便的登录到 SSH 服务器,而无需输入密码

    第一步:在客户端生成密钥对,执行命令 ssh-keygen -t rsa   一直回车,不需要输入;否则,生成的秘钥文件不会在.ssh文件夹中。

    ssh-keygen 命令参数,用的最多的是-t:指定要创建的密钥类型

    -b:指定密钥长度;

    -e:读取openssh的私钥或者公钥文件;

    -C:添加注释;

    -f:指定用来保存密钥的文件名;

    -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;

    -l:显示公钥文件的指纹数据;

    -N:提供一个新密语;

    -P:提供(旧)密语;

    -q:静默模式;

    -t:指定要创建的密钥类型。

    如果遇到权限问题,给文件授权

    chmod 600 ~/.ssh/authorized_keys

    chmod 700 ~/.ssh

    第二步:执行命令 ssh-copy-id root@172.19.25.90  把生成的公钥文件id_rsa.pub拷贝到目标服务器的~/.ssh/authorized_keys信任列表之中,让你在登录目标服务器的时候,识别你的客户端,并且信任免密;

    另外,将公钥拷贝到服务器的~/.ssh/authorized_keys文件中方法有如下几种:

    1、将公钥通过scp拷贝到服务器上,然后追加到~/.ssh/authorized_keys文件中,这种方式比较麻烦。scp -P 22 ~/.ssh/id_rsa.pub user@host:~/。

    2、通过ssh-copy-id程序,就是我演示的方法,ssh-copy-id user@host即可

    3、可以通过cat ~/.ssh/id_rsa.pub | ssh -p 22 user@host ‘cat >> ~/.ssh/authorized_keys’,这个也是比较常用的方法,因为可以更改端口号。

    你就会发现,已经把你客户端的公钥内容,追加到目标服务器的authorized_keys文件之中了,如下图:

    没错,就这2步骤,解决了免密登录;

    通常情况是下,是把你管理的所有机器,互相都添加到各自的信任列表之中;这样你就实现了所有机器的免密登录,无缝切换;

    -----------------------一条很骚的分割线-----------------------------

    优化步骤:

    通常我们不会记住IP地址,

    而是把所有需要访问服务器进行命名,hostname,

    编辑到/etc/hosts文件之中,

    这样就可以通过名称来免密登录;

    执行命令:vim /etc/hosts命令,编辑主机映射文件,并保存;

    /usr/bin/ssh-copy-id: ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    ERROR: @      WARNING: POSSIBLE DNS SPOOFING DETECTED!          @

    ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    ERROR: The ECDSA host key for k8s-master has changed,

    ERROR: and the key for the corresponding IP address 172.19.25.88

    ERROR: is unchanged. This could either mean that

    ERROR: DNS SPOOFING is happening or the IP address for the host

    ERROR: and its host key have changed at the same time.

    ERROR: Offending key for IP in /root/.ssh/known_hosts:1

    ERROR:  remove with:

    ERROR:  ssh-keygen -f "/root/.ssh/known_hosts" -R 172.19.25.88

    ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    ERROR: @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!    @

    ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

    ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)!

    ERROR: It is also possible that a host key has just been changed.

    ERROR: The fingerprint for the ECDSA key sent by the remote host is

    ERROR: SHA256:cACtB65yC+zBukrepOB5Vti+oTHWjl4b12YCzGthHBA.

    ERROR: Please contact your system administrator.

    ERROR: Add correct host key in /root/.ssh/known_hosts to get rid of this message.

    ERROR: Offending ECDSA key in /root/.ssh/known_hosts:3

    ERROR:  remove with:

    ERROR:  ssh-keygen -f "/root/.ssh/known_hosts" -R k8s-master

    ERROR: ECDSA host key for k8s-master has changed and you have requested strict checking.

    ERROR: Host key verification failed.

    相关文章

      网友评论

          本文标题:两步,达成SSH命令,免密登录目标机器

          本文链接:https://www.haomeiwen.com/subject/vlthlhtx.html