Linux上实现ssh免密码登陆远程服务器

简介:

0.说明

 

    平常使用ssh登陆远程服务器时,都需要使用输入密码,希望可以实现通过密钥登陆而免除输入密码,从而可以为以后实现批量自动部署主机做好准备。

    环境如下:


IP地址 操作系统
服务器端 10.0.0.128/24 CentOS 6.5 x86
客户端 10.0.0.129/24 Ubuntu 16.04 x86




1.客户端生成密钥对


    生成密钥对:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
xpleaf@leaf:~$  ssh -keygen -t rsa -b 2048
Generating public /private  rsa key pair.
Enter  file  in  which  to save the key ( /home/xpleaf/ . ssh /id_rsa ): 
Created directory  '/home/xpleaf/.ssh' .
Enter passphrase (empty  for  no passphrase): 
Enter same passphrase again: 
Your identification has been saved  in  /home/xpleaf/ . ssh /id_rsa .
Your public key has been saved  in  /home/xpleaf/ . ssh /id_rsa .pub.
The key fingerprint is:
SHA256:eLssyXJLzUCfSN5mu6nqNH9dB /gOyXSvWBwQdNssIYE  xpleaf@leaf
The key's randomart image is:
+---[RSA 2048]----+
|         o=oo    |
|        E .o =   |
|      o    oo o  |
|     + = .o +.   |
|      = So = +   |
|       B o+ = o  |
|    o...=. * o   |
|   ..+=..+o o    |
|   .o++==        |
+----[SHA256]-----+

    查看生成的密钥对:

1
2
3
4
xpleaf@leaf:~$  ls  . ssh
id_rsa  id_rsa.pub
 
# id_rsa为私钥,这个一般需要保密;id_rsa.pub为公钥,这个可以公开。




2.上传公钥到服务器端


   使用scp命令操作:

1
2
3
4
5
6
7
xpleaf@leaf:~$  scp  . ssh /id_rsa .pub root@10.0.0.128: /root
The authenticity of host  '10.0.0.128 (10.0.0.128)'  can't be established.
RSA key fingerprint is SHA256:0Tpm11wruaQXyvOfEB1maIkEwxmjT2AklWb198Vrln0.
Are you sure you want to  continue  connecting ( yes /no )?  yes
Warning: Permanently added  '10.0.0.128'  (RSA) to the list of known hosts.
root@10.0.0.128's password: 
id_rsa.pub                                                    100%  393     0.4KB /s    00:00

 



3.服务器端操作


    把从客户端传来的公钥添加到.ssh/authorized_keys中:

1
2
3
4
[root@leaf ~] # cat id_rsa.pub >> .ssh/authorized_keys
[root@leaf ~] # chmod 600 .ssh/authorized_keys
 
# authorized_keys的权限需要为600

    修改ssh配置文件/etc/ssh/sshd_config,找到下面一行:

1
PubkeyAuthentication no

    修改为:

1
PubkeyAuthentication  yes




4.测试


    在客户端上使用密钥登陆到服务器上:

1
2
3
xpleaf@leaf:~$  ssh  -i . ssh /id_rsa  root@10.0.0.128
Last login: Tue May  9 15:14:01 2017 from 10.0.0.129
[root@leaf ~] #




5.注意事项


  • 在服务器端需要把selinux关闭,否则最后无法使用密钥进行远程登陆;

  • 客户端使用scp命令时,在服务器端也需要安装ssh客户端,否则无法把公钥上传到服务器端,另外也可以使用ssh-copy-id root@10.0.0.128来代替scp操作(这样在服务器端也不需要执行创建.ssh目录等这些操作,即相当于该命令可以一步帮我们完成密钥的上传与配置工作);




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1924771,如需转载请自行联系原作者
相关文章
|
8月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
455 146
|
10月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
12月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
2010 21
|
11月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1048 13
|
11月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3631 0
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
491 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
11月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
1003 0
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。