`
ymq267
  • 浏览: 126127 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

linux--私钥登陆

阅读更多
遇到问题:对于公司的远程linux服务器,虽然刚开始会分配一个超级管理员来让你做操作,但时间久了,很明显,这是相当不安全的。对于远程的服务器。基本是会限制root直接登陆的。然后新建其他用户,并只让其他用户有sudo的权限。
解决问题:创建公钥,私钥来登陆,主要是权限设置妥当,否则也会导致登陆不成功。
实现思路:
1.在客户端创建一个用户,生成私钥,公钥;
2.在服务器上创建一个用户(可以使用sudo的相应权限,),把客户端的公钥传到服务器相应用户下.ssh,并更改名为authorized_keys。
操作步骤:
1.       客户端创建密钥



2.       在服务器上创建用户(给予sudo权限)。 服务器上创建用户server。把客户端的私钥拷贝到该用户下.ssh文件下,并改名为authorized_keys。给authorized_keys 600的权限。注意.ssh文件给700的权限,否则也会导致后来的ssh私钥登陆没权限,不成功的报错。



3.    客户端登陆服务器



4.      服务器上的该用户给予sudo的权限。
使用visudo命令来修改/etc/sudoers文件,使用visudo命令如果修改错了,是会提示错误,并不让保存。    切记不要直接编辑修改/etc/sudoers 如:用 vi /etc/sudoers 命令来编辑,一旦编辑错了,即会导致其他sudo的用户都无法执行sudo的命令。
并进入 /etc/sudoers文件,找到wheel组,并把%wheel前的#号去掉,如下图状态。



把用户加入wheel组,vi /etc/group



注意:不同linux版本,用户的权限不同。ssh的私钥公钥登陆略有不同,注意就好。
实际上,这样创建完成了。就已经可以在客户端使用私钥登陆到服务器了。实现了安全登陆。然后我ssh登陆之后,服务器端总是要询问用户的密码。于是想去掉这个密码。直接使用ssh的私钥登陆之后,就可以执行相关sudo 的命令。
linux sudo不用密码的方法:
说到使用sudo权限,一般都会编辑/etc/sudoers这个文件。 默认情况我们会看到有"%wheel ALL=(ALL) ALL"一句话,就是允许wheel组在所有主机上执行所有命令,当然是需要passwd的。
1. 如果想把wheel组的用户都sudo不用密码那么可以将这一行换为:"%wheel ALL=(ALL) NOPASSWD: NOPASSWD ALL"即可。
2. 如果仅仅想让user1用户sudo不需密码,则可添加"user1 ALL = NOPASSWD: ALL"这样一行。
3. 如果让jay用户sudo不用密码即可执行某几个命令,可这样写"user1 ALL = NOPASSWD: /usr/bin/abc.sh, /usr/sbin/adduser"
4. 欲知其他更多配置方式,请运行"man sudoers"看帮助文档吧。
注意:我自己的一个配置没生效,找原因还找了阵子,写到这里吧。
我添加"user1 ALL = NOPASSWD: ALL"这样一行;但是,user1执行sudo时还是需要输入密码,这是为什么?
原来是,我这一行在"%wheel ALL=(ALL) ALL"组策略之前,后面的组配置覆盖了前面的配置,而user1属于admin组,所以需要密码。
这时,只需要将%admin行用#注释掉即可。OK!然后立马就生效了,可能执行sudo时系统都会去读取/etc/sudoers的,所以立即就生效了。
分享到:
评论

相关推荐

    Linux 下sftp配置之密钥方式登录详解

    主要介绍了Linux 下sftp配置之密钥方式登录详解的相关资料,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器,需要的朋友可以参考下

    linux安全登录配置(证书登录).docx

    linux安全登录配置(证书登录),就想赚点金币用用,高手绕道

    Linux使用ssh公钥实现免密码登录实例

    linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 首先以root账户登陆为例。 1.在A机下生成公钥/私钥对。 [root@A ~]# ...

    hadoop-2.4.1安装软件包以及教程jdk.zip

    1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe... 执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷贝到要免登陆的机器上 ssh-copy-id localhost

    基于openssl的CA证书服务器 你可以用它搭建自己的专属CA服务器,以方便为用户生成私钥、证书请求、颁发证书、吊销证书、证书

    你可以用它搭建自己的专属CA服务器,以方便为用户生成私钥、证书请求、颁发证书、吊销证书、证书续期、证书吊销列表等。它可以生成多种类型的证书,包括且不限于web服务器、代码、计算机、客户端、信任列表、时间戳...

    SSH_Secure_Shell_ClientH工具密钥登录linux

    使用 SSH 客户端工具实现密钥登录 Linux 服务器 SSH(Secure Shell)是一种安全的网络协议,用于加密远程连接和身份验证。今天,我们将讨论如何使用 SSH 客户端工具实现密钥登录 Linux 服务器。 为什么需要密钥...

    linux远程登录ssh免密码配置方法

    公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆。 二、原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到...

    finalShell

    个人感觉比xshell使用方便,免费,上传文件时直接上传至下面所选文件目录

    老版本SecureCRT登录openeuler提示密钥交换失败解决办法.pdf

    老版本SecureCRT登录openeuler提示密钥交换失败解决办法 一、 故障现象 如下图所示,在使用老版本的SecureCRT比如V6.5登录openeuler时会提示密钥交换错误: 造成此现象的原因是openeuler采用的高版本的OpenSSH ...

    最新UOS运维系统运维工程师题库

    涵盖了NFS服务器配置、聚合函数、Ansible、Apache服务器配置、sshd配置、KVM虚拟机、DNS、系统默认端口号、Ansible模板文件语法、ftp匿名登录、Apache主配置文件、NTP服务器、nginx容器、安全web主机、私钥和证书...

    ssh,scp自动登陆的实现方法

    在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)# ssh root@192.168.60.110 “mkdir .ssh; chmod 0700 .ssh” (需要输入密码)# scp ~/.ssh/id_rsa.pub root@192.168.60....

    最新开运网源码,运势测算网站源码,流年风水起名+八字算命+算财运姻缘+易经周易+占卜测试

    微信/支付宝的PC支付和H5支付、海外paypal支付、分销功能、支持设置一二级分成比例、微信/QQ登陆功能、支持PC版支付、手机版支付、微信内支付、封装小程序/APP内支付,也可以对接码支付。 本品已对接第三方支付如易...

    部署远程SSH密钥

    部署SSH密钥脚本。 可在Linux、OSX系统中运行。 Usage: ./upload_key.sh <HOST> <PORT> [USER]

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...

Global site tag (gtag.js) - Google Analytics