linux-linux ssh无密码访问设置记录
2017-04-27 12:41
190 查看
内容:linux-linux ssh无密码访问设置,遇到的问题,解决方法
客户端:ubuntu 16.0
服务端: centos 6.1
1. 生成rsa密钥
客户端下输入 ssh-keygen -t rsa 一路回车生成秘钥,~/.ssh/id_rsa.pub(公钥)和~/.ssh/id_rsa(私钥)
2. 将公钥上传至服务端
2.1 方法一:$ssh-copy-id 用户名@ip (将公钥直接添加到服务端的~/.ssh/authorized_keys文件中)
2.2 方法二:通过scp将客户端文件复制到服务端 $scp ~/.ssh/id_rsa.pub 用户名@ip:~/.ssh ,将公钥加入到authorized_keys文件$cat ~/.ssh/id_rsa.pub>~/.ssh/authorized_keys(如果没有这个文件,就创建一个$touch authorized_keys)
网上的基本教程都是这样,经过这两步可以实现客户端和服务端的无密码访问,但是我在完成这两步后还是没能实现无密码访问,查了资料发现有不少人也有这个问题,但原因不尽相同,将其归类:
1. 权限问题,authorized_keys的权限要求是600;chmod 600 authorized_keys
2. ssh配置问题,/etc/ssh/sshd_config(服务端)配置,具体中文手册参考:http://www.cnblogs.com/Rozdy/p/4642928.html
3. SElinux导致,将其关闭 setenforce 0
确认1.3没有问题,应该是ssh配置的问题,具体是什么问题通过ssh调试方法来查看,参考https://segmentfault.com/a/1190000002669374
服务端调试
在客户端去连接这个新端口
此时两边都有日志输出,啥问题都能看到了!!
从服务端的日志中发现,在访问时,服务端使用的公钥为/root/.ssh/authorized_keys,显然不对(登录用户不是root),为此修改sshd_config中的配置:
AuthorizedKeysFile /.ssh/authorized_keys (默认使用相对路径)修改为 AuthorizedKeysFile /home/user/.ssh/authorized_keys(绝对路径)
重新启动ssh:$sudo /etc/init.d/sshd_config restart
至此无密码访问成功!
客户端:ubuntu 16.0
服务端: centos 6.1
1. 生成rsa密钥
客户端下输入 ssh-keygen -t rsa 一路回车生成秘钥,~/.ssh/id_rsa.pub(公钥)和~/.ssh/id_rsa(私钥)
2. 将公钥上传至服务端
2.1 方法一:$ssh-copy-id 用户名@ip (将公钥直接添加到服务端的~/.ssh/authorized_keys文件中)
2.2 方法二:通过scp将客户端文件复制到服务端 $scp ~/.ssh/id_rsa.pub 用户名@ip:~/.ssh ,将公钥加入到authorized_keys文件$cat ~/.ssh/id_rsa.pub>~/.ssh/authorized_keys(如果没有这个文件,就创建一个$touch authorized_keys)
网上的基本教程都是这样,经过这两步可以实现客户端和服务端的无密码访问,但是我在完成这两步后还是没能实现无密码访问,查了资料发现有不少人也有这个问题,但原因不尽相同,将其归类:
1. 权限问题,authorized_keys的权限要求是600;chmod 600 authorized_keys
2. ssh配置问题,/etc/ssh/sshd_config(服务端)配置,具体中文手册参考:http://www.cnblogs.com/Rozdy/p/4642928.html
3. SElinux导致,将其关闭 setenforce 0
确认1.3没有问题,应该是ssh配置的问题,具体是什么问题通过ssh调试方法来查看,参考https://segmentfault.com/a/1190000002669374
服务端调试
/usr/sbin/sshd -d -p 2222
在客户端去连接这个新端口
ssh -vvv host -p 2222
此时两边都有日志输出,啥问题都能看到了!!
从服务端的日志中发现,在访问时,服务端使用的公钥为/root/.ssh/authorized_keys,显然不对(登录用户不是root),为此修改sshd_config中的配置:
AuthorizedKeysFile /.ssh/authorized_keys (默认使用相对路径)修改为 AuthorizedKeysFile /home/user/.ssh/authorized_keys(绝对路径)
重新启动ssh:$sudo /etc/init.d/sshd_config restart
至此无密码访问成功!
相关文章推荐
- ssh 设置私钥实现两台linux主机无密码访问
- linux下设置 git ssh 代理,不需要密码访问osc方法
- 全面介绍Linux ssh无密码访问
- 配置linux服务器之间ssh不用密码访问
- 设置Linux中的ssh无密码登陆
- 用expect解决批量Linux集群机器间SSH免密码访问
- linux下设置ssh无密码登录 ssh配置
- NAT网络映射设置:允许局域网用户访问VMWare内linux的SSH
- Linux(RedHat6.0)下配置SSH无密码访问
- linux系统ssh无密码环境登录设置
- linux下设置ssh无密码登录
- linux无密码ssh登录设置
- linux下设置SSH无密码登陆
- linux下设置ssh免密码登陆的配置步骤分享
- LINUX 用ssh访问提示用户名密码不对,是因为/root/.ssh/目录下少authorized_keys2和id_dsa这两个文件
- linux下设置了SSH免密码登录但还是需要输入密码的解决办法
- 如何设置SSH无密码登录远程Linux主机
- linux下设置了SSH免密码登录但还是需要输入密码的解决办法
- hadoop环境搭建准备工作之二:linux下设置ssh无密码登陆
- Linux操作系统上SSH远程访问工具的设置