SSH不输入密码连接远程Linux主机
来源:互联网 发布:qq视频美容软件 编辑:程序博客网 时间:2024/04/28 08:36
远程主机IP:10.10.2.95
1) 在本地主机生成密钥对
ssh-keygen -t rsa
这个命令生成一个密钥对:id_rsa(私钥文件)和id_rsa.pub(公钥文件)。默认被保存 在~/.ssh/目录下。
2) 将公钥添加到远程主机的 authorized_keys 文件中
将文件上传到远程主机 中
scp ~/.ssh/id_rsa.pub root@10.10.2.95:/root
SSH到登陆到远程主机,将公钥追 加到 authorized_keys 文件中
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
3) 重启 open-ssh 服务
/etc/init.d/ssh restart
4) 测试
[root@host54 .ssh]# ssh root@10.10.2.95
Last login: Fri Jun 19 10:19:49 2009 from 10.10.3.254
[root@localhost ~]#
成 功!!
注意:
如果报下面的错误:
[root@host54 .ssh]# ssh root@10.10.2.95
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/root/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
解决:需要将主机(IP:10.10.3.254)上的/root/.ssh/id_rsa权限设置 如下:
chmod 600 /root/.ssh/id_rsa 即可解决.
另注:
原先使用虚拟机上做的时候就不行 不知道是不是虚拟机上有什么限制 很奇怪!
之后改用实际的服务器上应用 “SSH不输入密码连接远程Linux主机”方法 即可。
http://blog.csdn.net/daimin1983/archive/2009/06/19/4282098.aspx
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
场景:我们通常管理服务器,以一个工作站通过ssh,来管理所有的服务器主机。这样对于安控来讲比较容易控制。而在这个工作站,我们用ssh- keygen来生成所需要的公钥和私钥。并将公钥(客户端:id_*.pub)内容追加到服务器上的认证文件(服务器 端:authorized_keys)里面。
注意事项:id_*.pub、authorized_keys所在的位置。千万不要弄混了这个逻辑问题。如果想不明白。就仔细想想。不过当时我真的是想不 明白,照理上,一台服务器,其控制权限,不应该由服务器来产生并且分发吗?后来又想,如果你要是管100台服务的话,你是不是要在100台服务器上来创建 这些密钥对?是不是很麻烦?
工作站(client): ~/.ssh/id_*.pub
服务器(server): ~/.ssh/authorized_keys
疑难解答:为什么我创建了密钥对,却还是需要密码?root用户可以,普通用户就是不行?真TMD的奇怪。
1: 像上面说的,你一定是弄反了。
2: 权限问题。看看你的umask值。root的umask是0022,普通用户的掩码是0002.这样意味着什么,意味着root用户和普通创建的默认文件 的权限与普通用户的权限不一样。root用户默认去掉了组用户的W权限。而普通用户是赋予组内用户的W权限。废话说了一堆。看下面。
解决方法:
不管怎样保证你的server端目 录~/.ssh(0700)和~/.ssh/authorized_keys(0600)只有属主拥有读写权限。这样肯 定可以通过,至于client端你设置成777都没有关系,不受影响。这点想起我就想笑,插点题外话,曾经有一个兄弟去维护主机,可能是做RAC类似的东 西吧。反正那边的人自作主张的认为,权限给到777,总应该没有问题吧。结果恰恰导致无法访
问。
后记:
补充权限错误的日志分析。(服务器Server端)
………………….
Mar 28 09:41:14 minot sshd[3152]: Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys
- SSH不输入密码连接远程Linux主机
- SSH不输入密码连接远程Linux主机
- SSH不输入密码连接远程Linux主机
- SSH不输入密码连接远程Linux主机
- SSH不输入密码连接远程Linux主机
- SSH不输入密码连接远程Linux主机
- 不输入密码,ssh直接登录远程Linux主机
- linux打通两台机器的ssh功能(linux远程连接可以不输入密码)
- linux打通两台机器的ssh功能(linux远程连接可以不输入密码)
- linux打通两台机器的ssh功能(linux远程连接可以不输入密码)
- 不输入密码ssh直接登录阿里云Linux主机
- Mac ssh登陆远程Linux不需输入密码
- SSH无密码远程访问Linux主机
- ssh无密码登陆远程LINUX主机
- SSH使用ssh-keygen 远程登录主机免输入密码
- SSH使用ssh-keygen远程登录主机免输入密码
- ssh方式远程连接linux主机
- SSH远程连接至Linux主机
- 2012淘宝校园招聘试题
- gcc对OpenMP的支持
- vi setting
- Core Audio I/O File Recording
- 使struts2配置项支持通配符,无需再<include>!
- SSH不输入密码连接远程Linux主机
- C# 正则替换制定字符
- 关于HTML5在线播放x.264编码的mp4格式文件的长时间缓冲问题
- 一次面试经历
- ExtJs在myeclipse里面非常卡,非常慢的解决方法
- Mysql存储过程
- C# 后台解析Json串 有中括号格式的
- 五种常见 Ajax 设计模式
- 【转载】SMTP命令及其发送邮件的过程