Linux上实现ssh免密码登陆远程服务器
平常使用ssh登陆远程服务器时,都需要使用输入密码,希望可以实现通过密钥登陆而免除输入密码,从而可以为以后实现批量自动部署主机做好准备。
环境如下:
IP地址 | 操作系统 | |
---|---|---|
服务器端 | 10.0.0.10 | CentOS 6.5 x86 |
客户端 | 10.0.0.61 | CentOS 6.5 x86 |
1.客户端生成密钥对
[root@rsync10 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
99:af:26:b0:23:e2:04:9f:48:02:77:8a:d5:6d:b3:c7 root@rsync10
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . . |
|. o o + |
|.+ o . + o |
|+.. . E |
|+o .. . . |
|..o o . |
|o . o . .. |
|.o . . o. |
+-----------------+查看生成的密钥对
[root@rsync10 ~]# ls .ssh/
id_rsa id_rsa.pub
id_rsa为私钥,这个一般需要保密;id_rsa.pub为公钥,这个可以公开。
2.上传公钥到服务器端
使用scp命令操作:
[root@rsync10 ~]# scp .ssh/id_rsa.pub root@10.0.0.61:/root/
The authenticity of host '10.0.0.61 (10.0.0.61)' can't be established.
RSA key fingerprint is 83:c2:2d:85:79:f7:20:36:34:1d:53:1c:7a:b0:d9:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.61' (RSA) to the list of known hosts.
root@10.0.0.61's password:
id_rsa.pub 100% 394 0.4KB/s 00:00
3.服务器端操作
把从客户端传来的公钥添加到.ssh/authorized_keys中:
[root@mb01 ~]# mkdir .ssh
[root@mb01 ~]# cat id_rsa.pub >> .ssh/authorized_keys
[root@mb01 ~]# chmod 600 .ssh/authorized_keys
4.修改ssh配置文件/etc/ssh/sshd_config,找到下面一行:
PubkeyAuthentication no
修改为:PubkeyAuthentication yes
5.测试
[root@rsync10 ~]# ssh root@10.0.0.61
Last login: Wed May 2 13:39:22 2018 from 10.0.0.10
[root@mb01 ~]#
6.注意事项
- 在服务器端需要把selinux关闭,否则最后无法使用密钥进行远程登陆;
- 客户端使用scp命令时,在服务器端也需要安装ssh客户端,否则无法把公钥上传到服务器端,另外也可以使用ssh-copy-id root@10.0.0.61来代替scp操作(这样在服务器端也不需要执行创建.ssh目录等这些操作,即相当于该命令可以一步帮我们完成密钥的上传与配置工作);
转载于:https://blog.51cto.com/chenmingqi/2110678
Linux上实现ssh免密码登陆远程服务器相关推荐
- 菜鸟Linux系列:[4]SSH免密码登陆远程服务器
背景:搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录. 在linux系统中,ssh是远程登 ...
- ssh免密码登陆远程服务器(3种方式)
第一种:ssh密码登录步骤,server.sh添加 #!/usr/bin/expect spawn ssh Username@ServerIP expect "*password:" ...
- linux ssh免密登陆远程服务器
10.170.1.18服务器免密登录到10.170.1.16服务器 首先登入一台linux服务器(10.170.1.18),此台做为母机(即登入其他linux系统用这台做为入口):执行一行命令生成ke ...
- mac下ssh免密登陆远程服务器(linux)
打开本地iterm2(终端)输入ssh-keygen,一直回车(当然可以根据提示自定义密钥存储位置.密码),生成公私钥 默认生成位置为~/.ssh/.id_rsa为私钥 id_rsa.pub为公钥 设 ...
- ssh免密登陆远程linux服务器
在工作的时候需要经常连接各个远程服务器,正常情况下每次连接远端服务器时都需要输入登陆账户的密码,每次输入都比较麻烦,希望走一个免登陆的效果. 1.生成公私钥 ssh-keygen -t rsa -C ...
- Linux运维:Shell脚本实现ssh免密登录远程服务器
LInux系统日常运维过程中,经常需要在本地运行脚本执行对远程主机的命令,正常情况下,ssh登录远程服务器时会提示输入密码,这会影响到脚本的自动执行(因为shell脚本中没有自动填充密码的命令).有三 ...
- CentOs 下SSH 免密码登陆
CentOs下的SSH免密码登陆: 原理: 1.在ServerA的/root/.ssh目录下 ssh-keygen -t rsa 生成一对儿秘钥 2.将serverA的公钥拷贝到serverB下/ro ...
- ssh免密连接远程服务器
ssh免密连接远程服务器 借助ssky-keygen和ssh-copy-id工具,通过4个简单的步骤实现无需输入密码登录远程Linux主机 1 生成密钥 通过内置的工具生成RSA算法加密的密钥 ssh ...
- Day One,配置ssh免密码登陆
在配置过程中遇到一些问题,参考了下面的博文: http://blog.sina.com.cn/s/blog_76fbd24d01017je7.html http://jingyan.baidu.com ...
最新文章
- 保护云端数据的5个技巧
- 好消息:Sci-Hub解封了!可以看2021新文献了!附可用网址
- ubuntu下移植QT基本流程
- 《DL/T 1476-2015 电力安全工器具预防性试验规程》中的样品名称及试验项目
- 计算机网页div怎么划分,《网页布局与实现(DIV+CSS)》
- encodeURIComponent编码2次
- linux下载文件一直超时,Linux下connect超时处理(总结)
- Eclipse 内置浏览器
- cx_oracle写日志信息_看日志痛苦——可能是你方法不对
- 赠书 | 读懂 x86 架构 CPU 虚拟化,看这文就够了
- 网格成就Web 2.0存储时代的路易XIV?
- 如何用python控制设备实现自动_带你用 Python 实现自动化群控设备
- mysql 事物gljbie,提升mysql性能几大参数丶章怀柔
- linux安装audit软件,linux audit工具
- kali教程--破解wifi密码
- 购买的域名设置域名解析
- Sisyphus.js 自动保存草稿 用法
- matlab做误差棒图,科学网—Matlab误差棒、图例、颜色配比,很有用的代码 - 周锋的博文...
- 达梦数据库key文件更换
- 给猫起名字的几种姿势