ssh免密登陆

简介:

ssh免密登陆

ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。

系统:CentOS7
主机:A(192.168.66.100);B(192.168.66.110)
为方面,用户都为root

1、在A下生成公钥/私钥对
命令:

1
ssh -keygen -t rsa -P ‘’

-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/root下生成.ssh目录,其他用户的话在对应的家目录下(/home/用户名),.ssh下有id_rsa和id_rsa.pub。

2、将把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里。
方式一:

1
ssh -copy- id  -i ~/. ssh /id_rsa .pub root@192.168.66.110

方式二:
    使用scp将文件复制过去

1
scp  . ssh /id_rsa .pub chenlb@192.168.66.110: /root/id_rsa .pub

    回车后输入B的root密码
        root@192.168.66.110's password:
          id_rsa.pub                                    100%  223     0.2KB/s   00:00

3、B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。

1
2
[root@B ~] # cat id_rsa.pub >> .ssh/authorized_keys
[root@B ~] # cat id_rsa.pub >> .ssh/authorized_keys

   authorized_keys的权限要是600。

1
[root@B ~] # chmod 600 .ssh/authorized_keys


4、A机登陆B机

1
2
3
4
5
6
  [root@A ~] # ssh root@192.168.66.110
  The authenticity of host  '192.168.66.110 (192.168.66.110)'  can't be established.
  RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
  Are you sure you want to  continue  connecting ( yes /no )?  yes
  Warning: Permanently added  '192.168.66.110'  (RSA) to the list of known hosts.
  Last login: Thu Jul  3 09:53:18 2017 from root

    第一次登录是时要你输入yes。

5、现在A机可以无密码登录B机了。

小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)

注意一:
CentOS默认公钥登陆关闭状态需要开启
修改配置文件:/etc/ssh/sshd_conf
命令:

1
vim  /etc/ssh/sshd_conf

    找到下面两行注释将前面的#去掉并将后面的no改为yes

1
2
  RSAAuthentication  yes
  PubkeyAuthentication  yes

    重启sshd服务:  

1
systemctl restart sshd


注意二:
SSH出现 The authenticity of host xxx can't be established. 
使用ssh连接远程主机时加上“-o StrictHostKeyChecking=no”的选项,去掉对主机的验证检查。

1
ssh   -o StrictHostKeyChecking=no  主机地址


问题一:上述操作完成后免密登陆失败时,查看配置文件/etc/ssh/sshd_conf
命令:

1
vim  /etc/ssh/sshd_conf

    在配置文件中修改:
        严苛模式:
        StrictModes no

    :wq保存退出
    重启sshd服务:   

1
systemctl restart sshd


问题二:如果遇到权限不够,无法修改读取authorzied_keys文件中的内容
    修改.ssh文件夹的权限为777

1
chmod  -R 777 ~/. ssh


问题三:
SSH出现Agent admintted fauiler to sign using password!
使用 ssh-agent bash

1
ssh -add ~/. ssh /id_rsa



      本文转自守护我们的幸福 51CTO博客,原文链接:http://blog.51cto.com/12085228/1958336 ,如需转载请自行联系原作者






相关文章
|
5月前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
158 1
|
5月前
|
Linux 网络安全
CentOS7服务器SSH登陆时自动显示服务器基础信息
CentOS7服务器SSH登陆时自动显示服务器基础信息
143 0
|
11月前
|
Shell 网络安全 数据安全/隐私保护
debian安装ssh(傻瓜教程)+证书免密登录
debian安装ssh(傻瓜教程)+证书免密登录
1390 0
|
算法 安全 网络协议
ssh工作流程及其原理——ssh免密登录
ssh工作流程及其原理——ssh免密登录
269 0
|
5天前
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
34 5
|
5天前
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
22 4
|
4月前
|
分布式计算 Hadoop 网络安全
杨校老师课堂之集群内SSH免密登录功能配置
杨校老师课堂之集群内SSH免密登录功能配置
39 0
|
2月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
68 4
|
3月前
|
Shell 网络安全 数据安全/隐私保护
MacOS Sonoma14.2.1系统SSH免密登录
【7月更文挑战第9天】在MacOS Sonoma 14.2.1中设置SSH免密登录,包括:1) 使用`ssh-keygen`生成RSA密钥对;2) 使用`ssh-copy-id`将公钥传到远程主机;3) 用`ssh-add --apple-use-keychain`添加私钥到ssh-agent,并为重启后自动添加配置自动化脚本;4) 可选地,编辑`~/.ssh/config`设置别名简化登录。确保远程主机的`.ssh/authorized_keys`文件权限为600。
124 4
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux——配置SSH免密登录
Linux——配置SSH免密登录
40 0