先说一下,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 免密码登陆配置及错误处理的更多相关文章

  1. mac下 ssh免密码登陆设置

    由于mac os 是基于unix的操作系统终端和linux非常类似,所以不用借助类似于windows下的putty 和CRT工具即可远程登陆linux服务器,只需简单地3步即可免密码ssh远程. 1 ...

  2. hadoop搭建杂记:Linux下ssh免密码登陆

    关于ssh免密码登陆的问题 关于ssh免密码登陆的问题 linux下可以用ssh-keygen来生成公钥/私钥对 ①生成id_rsa和id_rsa.pub公钥/私钥对,自动在~/.ssh下生成文件(亦 ...

  3. ssh免密码登陆远程服务器

    ssh免密码登陆远程服务器 在使用windows下的cygwin或者在linux下使用Terminal进行远程服务器登陆测试的时候总是会要求输入账号密码,对于此我们可以使用ssh将公钥放在服务器上的方 ...

  4. ssh免密登陆配置

    目录 ssh免密登陆 在A工作站上输入 B服务器上输入 登陆 ssh初次登陆询问 1.单次取消 2.ansible中增加链接参数 3.修改ansible配置参数[推荐] 4.修改服务器上的ssh_co ...

  5. Centos6.5之ssh免密码登录配置

    Centos6.5之ssh免密码登录配置 centos ssh 免密码登录 0.说明 这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机.目标是实现A.B两台主机分别能够通过ssh免 ...

  6. ssh免密码登录配置方法

    每次输密码很麻烦,免密登录设置方法按照<ssh免密码登录配置方法>即可,简单来说: 1.终端上执行ssh-keygen -t rsa,生成密钥对(存放在/home/usera/.ssh). ...

  7. SSH免密登陆配置过程和原理解析

    SSH免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...

  8. Hadoop localhost ssh 免密码登陆

    配置本地ssh免密码登陆,遇到很奇怪的问题,原来在公司电脑上,是按照 http://blog.csdn.net/hackerwin7/article/details/28109073 这里说的配置的, ...

  9. ssh免密码登陆(集群多台机器之间免密码登陆)

    1. 首先在配置hosts文件(每台机器都要) 进入root权限 vi /etc/hosts 添加每台机器的ip + 主机名,例如: 172.18.23.201 hadoop1 172.18.23.1 ...

随机推荐

  1. Win10 IIS 安装.net 4.5

    更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5,使用网上的aspnet_regiis.exe -i命令,一点都不靠谱,直接提示: C:\WINDOWS\system3 ...

  2. Java AOP总结

    AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...

  3. sql中1=1和1=0的用处

    where 1=1 where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样. select * from table1 where 1=1与select * from table1完全没 ...

  4. iOS 在cell中使用倒计时的处理方法(新)

    一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...

  5. String类型是特殊的引用类型

    例证: string peom1 = "Kubla Khan"; string peom2 = "Kubla Khan"; string peom3 = Str ...

  6. Python面试题之容器(Collections)

    容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections.我们将讨论它的作用和用法.   我们将讨论的是:   defaultdict coun ...

  7. EasyUI:datagrid控件简介

    EasyUI:datagrid控件简介 1,水平滚动条属性: //显示滚动条 fitColumns:false //不显示滚动条 fitColumns:true

  8. c语言的按位运算符

    & 按位与 | 按位或 ^ 按位异或 1. 按位与运算 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时,结果 ...

  9. centos/linux扩容Swap分区

    查看现在的swap容量 [root@node1 ~]# free -h total used free shared buff/cache available Mem: 15G 3.8G 2.1G 5 ...

  10. 使用C语言扩展Python提供性能

    python底层是用c写的,c本身是一个非常底层的语言,所以它做某些事情的效率肯定会比上层语言高一些. 比如有些自动化测试用的python库,会对系统的UI进行一些捕获,点击之类的操作,这必然要用到c ...