mac/linux ssh 免密码登陆配置及错误处理
先说一下,mac 和linux 的设置方法是一样的
一般做法可以参照http://www.tuicool.com/articles/i6nyei
第一步:生成密钥。在终端下执行命令:
ssh-kegen -t rsa
一路回车,各种提示按默认不要改,等待执行完毕。然后执行:
ls ~/.ssh
#可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)
第二步:放置公钥到Linux服务器。使用scp命令:
scp ~/.ssh/id_rsa.pub cssor@cssor.com:/home/cssor/.ssh/
然后把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys,执行:
#先登录到远程服务器
cd ~/.ssh
cat -n id_rsa.pub > authorized_keys
第三步:配置本地ssh config文件。执行:(这部可有可无,加上之后以后登录就不用敲一长串服务器域名了,敲个别名就行了,建议加上)
vi ~/.ssh/config
Host zhangsan #别名,域名缩写(注释记得删掉)
HostName 192.168.100.100 #完整的域名
User zhangsan #登录该域名使用的账号名
IdentityFile ~/.ssh/id_rsa #私钥文件的路径
经过以上操作以后,已经大功告成,感谢一同事帮忙,虽然他用的是Ubuntu系统。
使用ssh zhangsan或ssh zhangsan@192.168.100.100就可以直接登录到远程服务器了
问题处理
如果按照上述方法操作了还是无法登陆,可先用密码登陆远程服务器然后输入命令:
用root用户登陆查看系统的日志文件:$tail /var/log/secure -n 20
会提示类似信息:
………… Oct :: MasterServer sshd[]: Authentication refused: bad ownership or modes for file /home/zhangsan/.ssh/authorized_keys Oct :: MasterServer sshd[]: Accepted password for zhangsan from :: port ssh2 Oct :: MasterServer sshd[]: pam_unix(sshd:session): session opened for user zhangsan by (uid=) Oct :: MasterServer sshd[]: Accepted password for zhangsan from 192.168.1.241 port ssh2 Oct :: MasterServer sshd[]: pam_unix(sshd:session): session opened for user zhangsan by (uid=) Oct :: MasterServer sshd[]: Authentication refused: bad ownership or modes for directory /home/zhangsan/.ssh
最新的日志啥意思呢? 就是说 /home/hadooper/.ssh 这个路径的文件夹权限不对
修改如下:
chmod ~/.ssh chmod ~/.ssh/authorized_keys
如果不是这个.ssh 文件夹,而是用户目录,比如/home/zhangsan ,那就是你个整个文件夹的权限不对。(注:文件权限分两种 ownership or modes)
我的问题是,我的账号有root权限,我的登陆账号不是root,但是是我的文件夹的所有者的权限是root:root ,估计ssh识别不了,所以用下面的命令更改一下所
有文件夹的权限就可以了
chown -R zhangsan:zhangsan zhangsan/
至此我的问题解决了,如果你的日志中的错误信息是其他的,那就另行百度吧。 另注:我不是zhangsan
mac/linux ssh 免密码登陆配置及错误处理的更多相关文章
- mac下 ssh免密码登陆设置
由于mac os 是基于unix的操作系统终端和linux非常类似,所以不用借助类似于windows下的putty 和CRT工具即可远程登陆linux服务器,只需简单地3步即可免密码ssh远程. 1 ...
- hadoop搭建杂记:Linux下ssh免密码登陆
关于ssh免密码登陆的问题 关于ssh免密码登陆的问题 linux下可以用ssh-keygen来生成公钥/私钥对 ①生成id_rsa和id_rsa.pub公钥/私钥对,自动在~/.ssh下生成文件(亦 ...
- ssh免密码登陆远程服务器
ssh免密码登陆远程服务器 在使用windows下的cygwin或者在linux下使用Terminal进行远程服务器登陆测试的时候总是会要求输入账号密码,对于此我们可以使用ssh将公钥放在服务器上的方 ...
- ssh免密登陆配置
目录 ssh免密登陆 在A工作站上输入 B服务器上输入 登陆 ssh初次登陆询问 1.单次取消 2.ansible中增加链接参数 3.修改ansible配置参数[推荐] 4.修改服务器上的ssh_co ...
- Centos6.5之ssh免密码登录配置
Centos6.5之ssh免密码登录配置 centos ssh 免密码登录 0.说明 这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机.目标是实现A.B两台主机分别能够通过ssh免 ...
- ssh免密码登录配置方法
每次输密码很麻烦,免密登录设置方法按照<ssh免密码登录配置方法>即可,简单来说: 1.终端上执行ssh-keygen -t rsa,生成密钥对(存放在/home/usera/.ssh). ...
- SSH免密登陆配置过程和原理解析
SSH免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...
- Hadoop localhost ssh 免密码登陆
配置本地ssh免密码登陆,遇到很奇怪的问题,原来在公司电脑上,是按照 http://blog.csdn.net/hackerwin7/article/details/28109073 这里说的配置的, ...
- ssh免密码登陆(集群多台机器之间免密码登陆)
1. 首先在配置hosts文件(每台机器都要) 进入root权限 vi /etc/hosts 添加每台机器的ip + 主机名,例如: 172.18.23.201 hadoop1 172.18.23.1 ...
随机推荐
- Win10 IIS 安装.net 4.5
更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5,使用网上的aspnet_regiis.exe -i命令,一点都不靠谱,直接提示: C:\WINDOWS\system3 ...
- Java AOP总结
AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...
- sql中1=1和1=0的用处
where 1=1 where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样. select * from table1 where 1=1与select * from table1完全没 ...
- iOS 在cell中使用倒计时的处理方法(新)
一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...
- String类型是特殊的引用类型
例证: string peom1 = "Kubla Khan"; string peom2 = "Kubla Khan"; string peom3 = Str ...
- Python面试题之容器(Collections)
容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections.我们将讨论它的作用和用法. 我们将讨论的是: defaultdict coun ...
- EasyUI:datagrid控件简介
EasyUI:datagrid控件简介 1,水平滚动条属性: //显示滚动条 fitColumns:false //不显示滚动条 fitColumns:true
- c语言的按位运算符
& 按位与 | 按位或 ^ 按位异或 1. 按位与运算 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时,结果 ...
- centos/linux扩容Swap分区
查看现在的swap容量 [root@node1 ~]# free -h total used free shared buff/cache available Mem: 15G 3.8G 2.1G 5 ...
- 使用C语言扩展Python提供性能
python底层是用c写的,c本身是一个非常底层的语言,所以它做某些事情的效率肯定会比上层语言高一些. 比如有些自动化测试用的python库,会对系统的UI进行一些捕获,点击之类的操作,这必然要用到c ...