- 浏览: 941453 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (832)
- 系统集成、架构 (116)
- 前端负载、开发、db (139)
- 监控与安全、性能 (70)
- Trouble Shooting (45)
- 管理哲学、业余提升 (9)
- 经典转载 (8)
- 主导过项目演示 (37)
- docker集群 (9)
- jvm 性能参数 (7)
- 监控平台 (28)
- 发布管理平台 (6)
- 日志平台 (53)
- Tools (36)
- shell & pytho &ansible自动化运维平台 (20)
- mongodb&nosql&db (32)
- system (12)
- kafa zk (11)
- python&nodejs (311)
- 数据平台 (5)
- PAAS (0)
- IAAS (0)
- SAAS (0)
- Go (2)
- kotlin (2)
- Redis学习笔记4-脚本、持久化和集群 (2)
最新评论
-
hsluoyz:
PyCasbin 是一个用 Python 语言打造的轻量级开源 ...
django guardian 对象级别权限设计 -
phncz310:
厉害了,我的哥
python黑魔法异常重试的次数,间隔的装饰器涵数 -
adamoooo:
Zabbix二次开发,可以试试:乐维监控www.91lewei ...
zabbix二次开发及app -
shi3689476:
你好,模块下载地址还能提供一下吗?
NGINX开发杀手锏-线程池 -
tobato:
Elasticsearch 和 Influxdb 为何选了El ...
elastic作数据源,对比kibana与grafana
一)问题:
假如我们现在有两台机器:ServerA和ServerB,现在想要让ServerA不用输入密码就能够进行访问。
(二)方法和原理:
我们使用ssh-keygen在ServerA上生成private和public密钥,将生成的public密钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。
在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法【默认是DSR算法】,该工具做linux系统的远程管理是非常安全的。
(三)实验步骤:
1.登录ServerA
2.ssh-keygen -t rsa,将会生成公钥和私钥文件id_rsa和id_rsa.pub【如果一直回车下去,最后这两个文件应该在/home/$USER/.ssh下面】
3.将 .pub 文件复制到ServerB机器的 .ssh 目录下,并保存为authorized_keys
可以使用:
ssh-keygen -t rsa -C "hugo@qq.com"
ssh-cop-id命令会将指定的公钥文件复制到远程计算机
[oracle@Test232 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub oracle@192.168.55.232
28
oracle@192.168.55.232's password:
Now try logging into the machine, with "ssh 'oracle@192.168.55.232'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[oracle@Test232 ~]$ ssh oracle@192.168.55.232
oracle@192.168.55.232's password:
Last login: Thu Nov 24 16:05:32 2011 from 192.168.55.229
[oracle@Test232 ~]$
4.大功告成,从A机器登录B机器的目标账户,不再需要密码了
5.设置文件和目录权限【这一步可以省略,但是为了安全起见,加上也是有必要的~】
设置authorized_keys权限
chmod 644 authorized_keys
设置.ssh目录权限
chmod 700 -R .ssh
6.要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
报错:
The authenticity of host '192.168.20.59 (192.168.20.59)' can't be established.
RSA key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.20.59' (RSA) to the list of known hosts.
root@192.168.20.59's password:
Permission denied, please try again.
root@192.168.20.59's password:
Permission denied, please try again.
root@192.168.20.59's password:
Permission denied (publickey,gssapi-with-mic,password).
如果说以上权限没有问题的话,那就赶紧去看看你的配置文件吧,因为有人会喜欢改这个东东,导致你无论如何都不会成功:
打开/etc/ssh/ssh_config文件,找到以下部分:
# IdentityFile ~/.ssh/identity
IdentityFile ~/.ssh/id_rsa
看看你的私钥名字是不是这个 ~/.ssh/id_rsa
哈哈,还是得好好看配置文件喽~
假如有台中控机已经打通了到各台应用主机间的无密码远程登陆,现在需要打通另一台中控,下面是我写的脚本来实习此功能:
############################################ 实现中控无密码登陆 ############################################
#!/bin/bash
#Author:zhuying
scriptdir=/home/oracle/zy/changecps
for ip in `grep -v ^# "$scriptdir"/cps.ip`
do
scp /home/oracle/zy/changecps/169keys oracle@$ip:~/ </dev/null
ssh $ip "cat ~/169keys >> /home/oracle/.ssh/authorized_keys;rm ~/169keys" </dev/null
ssh $ip "cat /home/oracle/.ssh/authorized_keys|sort|uniq > /home/oracle/.ssh/tmp.keys" </dev/null
ssh $ip "mv /home/oracle/.ssh/tmp.keys /home/oracle/.ssh/authorized_keys" </dev/null
ssh $ip "chmod 644 /home/oracle/.ssh/authorized_keys" </dev/null
done
########################################### 实现中控无密码登陆 ##############################################
ps:
如果我们添加公钥后,还是无法访问,也可能是ServerA主机上面的一个文件known_hosts中已经存在ServerB的ip信息,删除重新访问即可。
另外,如果以上方法尝试过后还是不行,可能是因为登录失败次数过多被锁定,这个时候我们就需要去看看我们的系统日志了/var/log/messages,将之前的锁定信息日志删除就可以了。
参考文章:
http://os.51cto.com/art/200812/101989_1.htm
问题:
(1)Connection closed by $IP
可能是超过系统默认失败次数了,然后清理就ok了~【faillog -a;faillog -r】
(2)在前面步骤都正确无误的情况下,每次远程登录还是提示让输入密码,这时候有可能是权限问题:
chmod 644 authorized_keys再次登录就ok了~【如果是Red Hat 5.6的话,最好改成600,否则认为是不安全的~】
假如我们现在有两台机器:ServerA和ServerB,现在想要让ServerA不用输入密码就能够进行访问。
(二)方法和原理:
我们使用ssh-keygen在ServerA上生成private和public密钥,将生成的public密钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。
在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法【默认是DSR算法】,该工具做linux系统的远程管理是非常安全的。
(三)实验步骤:
1.登录ServerA
2.ssh-keygen -t rsa,将会生成公钥和私钥文件id_rsa和id_rsa.pub【如果一直回车下去,最后这两个文件应该在/home/$USER/.ssh下面】
3.将 .pub 文件复制到ServerB机器的 .ssh 目录下,并保存为authorized_keys
可以使用:
ssh-keygen -t rsa -C "hugo@qq.com"
ssh-cop-id命令会将指定的公钥文件复制到远程计算机
[oracle@Test232 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub oracle@192.168.55.232
28
oracle@192.168.55.232's password:
Now try logging into the machine, with "ssh 'oracle@192.168.55.232'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[oracle@Test232 ~]$ ssh oracle@192.168.55.232
oracle@192.168.55.232's password:
Last login: Thu Nov 24 16:05:32 2011 from 192.168.55.229
[oracle@Test232 ~]$
4.大功告成,从A机器登录B机器的目标账户,不再需要密码了
5.设置文件和目录权限【这一步可以省略,但是为了安全起见,加上也是有必要的~】
设置authorized_keys权限
chmod 644 authorized_keys
设置.ssh目录权限
chmod 700 -R .ssh
6.要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
报错:
The authenticity of host '192.168.20.59 (192.168.20.59)' can't be established.
RSA key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.20.59' (RSA) to the list of known hosts.
root@192.168.20.59's password:
Permission denied, please try again.
root@192.168.20.59's password:
Permission denied, please try again.
root@192.168.20.59's password:
Permission denied (publickey,gssapi-with-mic,password).
如果说以上权限没有问题的话,那就赶紧去看看你的配置文件吧,因为有人会喜欢改这个东东,导致你无论如何都不会成功:
打开/etc/ssh/ssh_config文件,找到以下部分:
# IdentityFile ~/.ssh/identity
IdentityFile ~/.ssh/id_rsa
看看你的私钥名字是不是这个 ~/.ssh/id_rsa
哈哈,还是得好好看配置文件喽~
假如有台中控机已经打通了到各台应用主机间的无密码远程登陆,现在需要打通另一台中控,下面是我写的脚本来实习此功能:
############################################ 实现中控无密码登陆 ############################################
#!/bin/bash
#Author:zhuying
scriptdir=/home/oracle/zy/changecps
for ip in `grep -v ^# "$scriptdir"/cps.ip`
do
scp /home/oracle/zy/changecps/169keys oracle@$ip:~/ </dev/null
ssh $ip "cat ~/169keys >> /home/oracle/.ssh/authorized_keys;rm ~/169keys" </dev/null
ssh $ip "cat /home/oracle/.ssh/authorized_keys|sort|uniq > /home/oracle/.ssh/tmp.keys" </dev/null
ssh $ip "mv /home/oracle/.ssh/tmp.keys /home/oracle/.ssh/authorized_keys" </dev/null
ssh $ip "chmod 644 /home/oracle/.ssh/authorized_keys" </dev/null
done
########################################### 实现中控无密码登陆 ##############################################
ps:
如果我们添加公钥后,还是无法访问,也可能是ServerA主机上面的一个文件known_hosts中已经存在ServerB的ip信息,删除重新访问即可。
另外,如果以上方法尝试过后还是不行,可能是因为登录失败次数过多被锁定,这个时候我们就需要去看看我们的系统日志了/var/log/messages,将之前的锁定信息日志删除就可以了。
参考文章:
http://os.51cto.com/art/200812/101989_1.htm
问题:
(1)Connection closed by $IP
可能是超过系统默认失败次数了,然后清理就ok了~【faillog -a;faillog -r】
(2)在前面步骤都正确无误的情况下,每次远程登录还是提示让输入密码,这时候有可能是权限问题:
chmod 644 authorized_keys再次登录就ok了~【如果是Red Hat 5.6的话,最好改成600,否则认为是不安全的~】
发表评论
-
[JIRA] 最新Linux安装版本jira6.3.6安装破解以及数据导入的详细步骤
2016-06-21 09:53 726JIRA 是澳大利亚 Atlassian 公司开发的一款优秀 ... -
mac下gitLab、sourceTree的配合使用
2016-05-13 17:52 9961、认识一下gitLab这个版本管理工具。 ... -
除了viso还可以有更高效的画图方式组合
2016-03-26 09:10 812使用 Sublime + PlantUML 高效地画图 ... -
GitHub上搭建个人网站
2016-02-15 09:18 1270##0.背景 准备重新捡起博客,记录自己的生活,特别是技术 ... -
Linux之ssh连接保持与重用
2016-01-30 11:19 647保持 用终端登录远程开发机coding,应该是大多数程序猿 ... -
notify+rsync实时同步 百万级别文件
2016-01-27 09:12 1621背景 我们公司在用inotify+rsync做实时同步,来 ... -
超级系统工具 Sysdig
2016-01-25 10:30 756Sysdig 是一个超级系统工具,比 strace、tcpd ... -
mac下安装Mysql5.7遇到默认密码的大坑
2016-01-21 15:31 740哈哈,当时我装5.7也遇 ... -
mac 安装tengine
2016-01-15 10:48 1999env : mac tengine 2.1.12 ... -
Mac下添加java环境变量
2016-01-08 16:59 1014发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一 ... -
mac 安装xcode或command line tools
2016-01-06 11:46 1557xcode 是专业的开发工具,但有时候需要gcc,再安装xc ... -
针对不同主机使用不同 SSH Key
2016-01-04 09:38 958考虑到安全性和便捷性,相信大部分同学都已经习惯了 SSH k ... -
mac 重装mysql
2015-12-20 11:34 3433mac上的mysql突然启动不了,之前安装时又 ... -
centos 安装sendmail mailx
2015-12-16 15:27 871安装sendmail: [root@li676-235 ~ ... -
mac 开发环境常用技巧
2015-12-13 11:29 1691话说Mac一般来讲不需 ... -
Mac快捷键大全
2015-12-05 12:20 496总结一下Mac快捷键的图形符号: Mac中主 ... -
centos 7 安装运行nexus
2015-12-03 09:51 2828最新版本是2.14 wget wget https:// ... -
centos 7 安装gradle 2.9
2015-12-02 15:01 1418downloand: wget https://down ... -
devops资料大全
2015-11-26 20:44 1372备份 备份软件 Amanda -客户端-服务器模型备 ... -
jenkins备用插件
2015-10-19 09:29 568jenkins的三个有关工作流的插件 https://wi ...
相关推荐
主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下
在Linux的各个虚拟集中实现ssh进行远程登录,设置各个虚拟机之间的免密码登录。
MacLinux无密码ssh客户端,一键登录远程服务器。一个SSH远程客户端,可一键登录远程服务器.zip
主要为大家详细介绍了Linux配置远程SSH无密码登录的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
近来在复习防火墙管理工具 iptables 的基本使用方法,涉及到对端口添加或删除防火墙策略的内容,之前对ssh更改默认端口号及免密码登录的方法不熟悉,这次做一个基本的总结防止自己遗忘。 错误偏差及其他经验之处,还...
如何做到两台Linux机器之间不使用密码即可通过SSH远程登录
Xshell-7.0.0109p.exe Linux远程登录操作的工具 (永久使用版) Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它...
越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ssh无密码验证配置。 一. 准备工作 首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,...
本文主要介绍三种方法,在Mac下使用SSH连接远程Linux服务器。 方法一:使用终端 1.打开终端,点击新建远程连接 2.点击加号,然后添加自己服务器的IP地址 3.点击右侧的服务器,然后在下方输入用户名,选择最下方的 ...
widnows自动登录ssh服务器自动执行命令的脚本
Linux免密码远程登录的实例 如何通过一台Linux ssh远程其他linux服务器时,不要输入密码,可以自动登入。提高远程效率,不用记忆各台服务器的密码。 1. 首先登入一台linux服务器,此台做为母机(即登入其他linux系统...
有时候我们需要通过在linux上远程运行windows系统上的程序。 方法一: 通过python中的 winrm模块,前提条件,先提前设置好winrm服务。如何设置请自行百度,winRM服务是windows server下PowerShell的远程管理服务。...
我们一般使用PuTTY等SSH客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被 暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登 录。其实,有一...
Xshell支持各种安全功能,如SSH1 / SSH2协议,密码,和DSA和RSA公开密钥的用户认证方法,并加密所有流量的各种加密算法。重要的是要保持你的数据安全与内置Xshell安全功能,因为像Telnet和Rlogin这样的传统连接协议...
随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是 出色的工具之一。 Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于...
1. ssh 远程到主机; 2. 切换到root账号; [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]; 3. passwd username 使用passwd username 修改 username 的...
(压缩包内含注册信息)SecureCRT是一款支持SSH(SSH1和SSH2)的终端...其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别.
如上,A机器经常需远程操作B机器,传输文件到B机器,每次输入帐号密码过于繁琐,下文通过ssh公钥能解免密码操作问题。 二、解决 1.方案 SSH认证采用公钥与私钥认证方式。 2.步骤 1) A机器生成公钥...