Linux学习笔记--SSH免密码登录
2016-03-22 17:50
267 查看
需要实现的效果:
实现步骤:
![](http://img.blog.csdn.net/20160322104826643)
![](http://img.blog.csdn.net/20160322104836753)
![](http://img.blog.csdn.net/20160322104847393)
![](http://img.blog.csdn.net/20160322104856487)
可能还会提示输入密码的解决方法:
SSH免密码登录原理:
使用场景:
有两台服务器:"192.168.201.236" 和 "192.168.201.237" 需要实现:在服务器"192.168.201.236"上实现ssh无密码连接服务器"192.168.201.237"
实现步骤:
1) 在"192.168.201.236"服务器上使用"ssh-keygen -t rsa"命令来创建公钥。 (会问你存放的目录,如果不需要修改,直接回车两次即可,默认保存路径为"~/.ssh/")
2) 将第一步生成的"~/.ssh/id_rsa.pub"这个文件拷贝到"192.168.201.237"服务器的"~/.ssh/"目录中并改名为"authorized_keys"。
3) 修改"192.168.201.237"服务器的"~/.ssh/"目录权限为700,"~/.ssh/authorized_keys"文件权限为600。 (这是linux的安全要求,如果权限不对,自动登录将不会生效。)
4) 在"192.168.201.236"服务器上用ssh命令连接"192.168.201.237"服务器。(如下图,则为连接成功。注:30330为237服务器端口。)
可能还会提示输入密码的解决方法:
1) 如果出现报警:"Address X.X.X.X maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!"。 在"192.168.201.236"(连接端)服务器上执行如下命令: echo "GSSAPIAuthentication no" >> ~/.ssh/config 在"192.168.201.237"(被连接端)服务器上执行"vi /etc/ssh/sshd_config"命令,修改下面两项值为"no" : "GSSAPIAuthentication no" "UseDNS no"
2) 如果出现报警:"Agent admitted failure to sign using the key." 执行命令:"ssh-add"(把专用密钥添加到ssh-agent的高速缓存中) 如果还不行,执行命令:"ps -Af | grep agent " (检查ssh代理是否开启,如果有开启的话,kill掉该代理) 然后执行"ssh-agent"(重新打开一个ssh代理) 如果还是不行,继续执行命令:"sudo service sshd restart"(重启一下ssh服务)
3) 通过命令"/usr/sbin/sestatus -v" 查看SELinux状态,如果"SELinux status"参数为"enabled"(开启状态),则关闭SELinux。 临时关闭方法(不用重启机器):"setenforce 0" 修改配置文件关闭方法(需要重启机器):执行命令"/etc/selinux/config",将"SELINUX=enforcing"改为"SELINUX=disabled"
4) 执行命令"vim /etc/ssh/sshd_config"去掉下面三行的注释: "RSAAuthentication yes" "PubkeyAuthentication yes" "AuthorizedKeysFile .ssh/authorized_keys"
SSH免密码登录原理:
这种方式你需要在客户端服务器上为自己创建一对密匙,并把公匙放在需要登录的服务器上。 当你要连接到服务器上时,客户端就会向服务器请求使用密匙进行安全验证。 服务器收到请求之后,会在该服务器上你所请求登录的用户的家目录下寻找你的公匙, 然后与你发送过来的公匙进行比较。 如果两个密匙一致,服务器就用该公匙加密“质询”并把它发送给客户端。 客户端收到“质询”之后用自己的私匙解密再把它发送给服务器。
使用场景:
1) rsync自动备份时免密码登录; 2) 集群环境中需要主机间互相通信; 3) 自动部署项目,将编译好的war包放到正确的服务器上。
相关文章推荐
- centos中安装mysql并使用mysql
- linux命令详解(27) ln 命令
- 【Linux学习】Linux的文件权限(一)
- linux 下使用sendemial发送邮件
- linux守护进程及其创建
- JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
- Linux运维文本处理三剑客之sed命令
- linux命令详解(26)tar 解压缩命令详解
- Linux上mysql的安装
- linux课堂笔记之二 开始命令模式与在线求助
- linux export将PATH环境变量误删了的解决办法
- 递归删除文件
- Linux课堂笔记之一简单上手
- 基于tiny4412的Linux内核移植 -- DM9621NP网卡驱动移植(四)
- 每天一个linux命令(60):scp命令
- Linux下multipath多路径配置
- LinuxC(环境变量、动态库)
- LinuxC(Unix/Linux系统简介/开发工具)
- 权限管理课堂笔记
- 基于tiny4412的Linux内核移植(支持device tree)(三)