一. SSH 配置免秘要登录
配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录。SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录。配置相互信任就是把各自的公钥都放到authorized_keys 文件中,并在sshd_config 配置文件打开 关于authorized_keys 的选项。
环境: 172.16.31.11 web211
172.16.31.13 web115
1. 在web211 上生成 秘钥对
[root@web211 ~]# cd .ssh/
[root@web211 .ssh]# ssh-keygen -t rsa
[root@web211 .ssh]# ll
总用量 8
-rw-------. 1 root root 1675 5月 24 17:23 id_rsa
-rw-r--r--. 1 root root 393 5月 24 17:23 id_rsa.pub
[root@web211 .ssh]# cat id_rsa.pub > authorized_keys
[root@web211 .ssh]# cat authorized_keys
#211公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4qMhLOQnrRa6/HGkDDWDw2Gu3gA7FIikV8xrBYvqre+gCP6h+f3gAY3stL44Ma7FFT6XhWeJiJNsCsJvNe401kkST7NXy1ZMr
O7VpYEtxVvi/WVBRgsqaeAT8FIvr3wNSqus9beB5eNOj/GFr2I4tP1698uTy42kOWanh9UfbevJoTgSp2Lm7V/zDjzNbBgJr5+a1fzuG4FYyoOavhs9hmH/NRd/avpvtoF2ae3BFy7PmIEsFlXN9Wm7WI0IXcIUTmt6q5MBWMVKZvdvpsOetnwTKrSrK7q3DhqeBqmbxqFuDbsoR+q2gYKUsWi69CxBgZM56IucOozmUHN8oBMUSw==
root@web211
2. 在web115 上生成秘钥对
[root@web115 .ssh]# ssh-keygen -t rsa
[root@web115 .ssh]# ll
总用量 8
-rw-------. 1 root root 1675 5月 25 01:25 id_rsa
-rw-r--r--. 1 root root 393 5月 25 01:25 id_rsa.pub
3. 远程复制web211 上的authorized_keys 文件到web115 上
[root@web115 .ssh]# scp root@172.16.31.11:/root/.ssh/authorized_keys ./
[root@web115 .ssh]# ll
总用量 16
-rw-r--r--. 1 root root 404 5月 25 01:27 authorized_keys
-rw-------. 1 root root 1675 5月 25 01:25 id_rsa
-rw-r--r--. 1 root root 393 5月 25 01:25 id_rsa.pub
-rw-r--r--. 1 root root 394 5月 25 01:26 known_hosts
4.把web115 上的公钥加入authorized_keys 中
[root@web115 .ssh]# cat id_rsa.pub >> authorized_keys
5.修改权限
[root@web115 .ssh]# chmod 600 authorized_keys
提示:确保两台服务器上的authorized_keys 文件的权限都是600
[root@web211 ~]# ls -ld /root/.ssh/
drwx------. 2 root root 4096 5月 24 17:24 /root/.ssh/
提示:两台服务.ssh 目录权限都为700
注:
提示: 这时 两台服务器authorized_keys 的 内容是不一样的,web115 可以信任web211,是因为web115 auhtorized_keys 文件里有 web211 的公钥,也就是说,web211 可以免秘钥登录web115,但是web115不能免秘要登录web211.要想两台互信,可以拷贝web115 里的authorized_keys 文件到web211
[root@web211 .ssh]# scp root@172.16.31.13:/root/.ssh/authorized_keys ./
[root@web211 .ssh]# cat authorized_keys
#211公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4qMhLOQnrRa6/HGkDDWDw2Gu3gA7FIikV8xrBYvqre+gCP6h+f3gAY3stL44Ma7FFT6XhWeJiJNsCsJvNe401kkST7NXy1ZMr
O7VpYEtxVvi/WVBRgsqaeAT8FIvr3wNSqus9beB5eNOj/GFr2I4tP1698uTy42kOWanh9UfbevJoTgSp2Lm7V/zDjzNbBgJr5+a1fzuG4FYyoOavhs9hmH/NRd/avpvtoF2ae3BFy7PmIEsFlXN9Wm7WI0IXcIUTmt6q5MBWMVKZvdvpsOetnwTKrSrK7q3DhqeBqmbxqFuDbsoR+q2gYKUsWi69CxBgZM56IucOozmUHN8oBMUSw== root@web211
#115公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw1yVwop07XnN9jdqjxFvFKjCSq9PkPK14kej1xfQihmkwSzDrjLD6mhUpQenIlyD3xvbtzPCRQae8s5wlM2X5lj2mdoKpM/f2
FAfGj7J2G3nxZQJRxXxMD391vE0IINtvvLHAMNkrDaITZyibIHH5VLzwxYC0VNhAbXnt/nQQ9N1eZUqynFSZ52QCPrFjsM7PjdmDyJbqExZ5tTZZ86uOsOsMl/h/JZV76JMbXQdioytP8iToh2LXNcTx3lVOIgVX2vB41z8F8CQ+O3D3M73JYIda2N4216k/i9MUFmUpEpsHPg/33utMKjhCPloxk65ZTk7CD4uquJ+ErWnOPcJUw==
root@web115
6. 测试免秘要登录
[root@web115 .ssh]# ssh 172.16.31.11
Last login: Thu May 24 17:31:21 2018 from 172.16.31.11
[root@web211 ~]# exit
logout
Connection to 172.16.31.11 closed.
二. 在配置中不能免秘钥登录可以参考一下解决方案
1. 保证两台的sshd_config 配置文件一样
[root@web115 .ssh]# egrep -v "^#|^$" /etc/ssh/sshd_config
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
2. 两台都安装了ssh
[root@web115 .ssh]# rpm -qa |grep ssh
openssh-5.3p1-123.el6_9.x86_64
openssh-clients-5.3p1-123.el6_9.x86_64
openssh-server-5.3p1-123.el6_9.x86_64
libssh2-1.4.2-1.el6.x86_64
3. 更改sshd_config 配置文件后,要重启sshd 服务
- ssh设置免秘钥登录
系统:CentOS7.2 需求:A服务器的fab用户需要使用www用户免秘钥登录到B服务器 换句话说,就是在A服务器的fab用户下,ssh www@B服务ip -p 端口 ,然后登录过去 ...
- Hadoop中ssh+IP、ssh+别名免秘钥登录配置
1.为什么要进行 SSH 无密码验证配置? Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个Da ...
- Linux SSH 免秘钥登录
SSH 免秘钥登录 ssh:是一种安全加密协议 ssh username@hostname ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...
- linux下ssh免秘钥登录
1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...
- Linux 集群 和免秘钥登录的方法。
/* 1.1.什么是集群? 很多台服务器(计算机)做相同的事,就称之为集群 服务器和服务器之间必须要处于联通状态(linux01和linux02可以相互访问并且传输数据) 服务器的配置和常见的计算机没 ...
- linux普通用户免秘钥登录(xshell工具环境)
一.xshell生成密钥 1)工具->新建用户密钥生成向导 2)选择密钥类型.密钥长度(默认即可) 3)生成密钥(生成公钥和私钥) 4)为密钥加密,增加密码(可选),建议加上 5)将公钥保存为文 ...
- hadoop再次集群搭建(2)-配置免秘钥ssh登录
SSH对于大多程序员都不陌生,目前主流的云服务提供上也是通过SSH来提供链接的安全保障,比如AWS通过使用下载的私钥(private key)实现与EC2实例安全连接.GitHub通过上传的公钥(pu ...
- Linux之间配置免秘钥访问
环境说明 [root@localhost1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@localhost1 ~]# un ...
- ssh免秘钥登录
简介 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程 ...
随机推荐
- <LeetCode OJ> 101. Symmetric Tree
101. Symmetric Tree My Submissions Question Total Accepted: 90196 Total Submissions: 273390 Difficul ...
- new Thread(new ThreadStart(this.StartServer))
Thread .new thUdpServer thUdpServer = new Thread(new ThreadStart(this.StartServer))
- Download FFmpeg
Builds Static builds provide one self-contained .exe file for each program (ffmpeg, ffprobe, ffplay) ...
- 模板:什么是Traits
Traits不是一种语法特性,而是一种模板编程技巧.Traits在C++标准库,尤其是STL中,有着不可替代的作用. 如何在编译期间区分类型 下面我们看一个实例,有四个类,Farm.Worke ...
- Git学习资源推荐
Git在线练习 http://pcottle.github.io/learnGitBranching/ https://try.github.io/levels/1/challenges/1 Git入 ...
- jquery绑定事件的区别
query中绑定事件有三种方法:以click事件为例 (1)target.click(function(){}); (2)target.bind("click",function( ...
- HDU 3861 The King’s Problem(强连通+二分图最小路径覆盖)
HDU 3861 The King's Problem 题目链接 题意:给定一个有向图,求最少划分成几个部分满足以下条件 互相可达的点必须分到一个集合 一个对点(u, v)必须至少有u可达v或者v可达 ...
- vivado与modelsim的联合仿真(一)
vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...
- 61. Search for a Range【medium】
61. Search for a Range[medium] Given a sorted array of n integers, find the starting and ending posi ...
- c++ 用namespace实现java的package的功能
以前喜欢这样组织文件: myproject/src/moduleA放moduleA的所有cpp文件 myproject/include/moduleA放moduleA的所有h文件 对moduleB.C ...