`
ymq267
  • 浏览: 128688 次
  • 性别: 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的,所以立即就生效了。
分享到:
评论

相关推荐

    ssh配置公钥和私钥登陆SecureCRT[整理].pdf

    在本文中,我们将详细介绍如何使用 SecureCRT 配置公钥和私钥登录 Linux 服务器。 公钥认证的优点 相比密码认证,公钥认证有以下几个优点: 1. 允许使用空密码,免去了每次登录都需要输入密码的麻烦。 2. 多用户...

    Linux_SSH配置和禁止Root远程登陆设置文档

    在Windows环境中,可以使用PuttyGen工具将Linux生成的私钥转换为Putty可以识别的格式,以便于通过Putty客户端进行公钥认证。 #### 四、总结 通过上述步骤,我们可以有效地提升Linux系统的SSH服务安全性。不仅通过...

    SSH登陆LINUX服务器命令.doc

    以下是对SSH登陆LINUX服务器常用命令的详细说明: 1. **基本SSH登录命令**: 使用`ssh [hostname] -u user`来登录远程Linux服务器,其中`hostname`是服务器的IP地址或域名,`user`是你要登录的用户名。例如:`ssh ...

    LinuxSSH使用ssh公钥密钥自动登陆linux服务器收集.pdf

    这种方法基于非对称加密,通过一对密钥——公钥和私钥——来确保只有拥有相应私钥的用户能够登录服务器。 **第一步:生成ssh公钥密钥对** 在管理服务器上,使用`ssh-keygen`命令生成一对rsa类型的公钥和私钥。例如...

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

    需要注意的是,虽然这种方式增强了安全性,但也要妥善保管私钥和口令,避免私钥被恶意使用。此外,定期更换私钥和更新`sshd_config`文件中的安全策略也是保持系统安全的重要措施。在多用户环境中,每个用户都应有...

    批量配置linux免密登陆

    标题“批量配置Linux免密登陆”指的是通过自动化脚本实现无需密码验证就能通过SSH连接到多台Linux服务器的技术。这主要依赖于SSH密钥对认证机制,即生成一对公钥和私钥,将公钥部署到目标服务器的`~/.ssh/authorized...

    LinuxSSH使用ssh公钥密钥自动登陆linux服务器.pdf

    Linux SSH 使用 SSH 公钥密钥自动登录 Linux 服务器 本文档将介绍如何使用 SSH 公钥密钥自动登录 Linux 服务器,解决频繁输入用户名和密码的问题。下面是相关的知识点: 1. SSH 公钥密钥生成:使用 `ssh-keygen` ...

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

    **Linux下sftp配置之密钥方式登录详解** 在Linux环境中,为了提高文件传输的安全性,通常会使用sftp(Secure File Transfer Protocol)代替传统的FTP或vsftp,因为sftp基于SSH(Secure Shell)协议,可以提供加密的...

    java linux ssh登陆

    标题“Java Linux SSH登录”指的是使用Java编程语言与Linux操作系统进行安全外壳(SSH)通信的过程。在描述中提到,这个过程通常涉及建立一个通道并执行单个命令。这里,我们将会详细探讨Java如何通过SSH连接到Linux...

    [原]同主目录多用户通过ssh进行密钥登陆[归类].pdf

    我们将基于Linux操作系统,特别是Asianux 3.0,以及OpenSSH v4.3p2版本进行说明。 首先,SSH密钥对包括一个私钥(id_rsa)和一个公钥(id_rsa.pub)。私钥必须设置为600权限,即只有所有者可读写,以确保私钥的安全...

    Linux SSH配置和禁止Root远程登陆设置文档.pdf

    Linux SSH 配置和禁止 Root 远程登陆设置 ...本文档详细介绍了 Linux SSH 配置和禁止 Root 远程登陆设置的步骤和方法,通过修改 SSH 服务器的配置文件和生成公钥与私钥,可以实现 SSH 服务器的安全配置。

    plink一键下载

    PLink是PuTTY套件的一部分,PuTTY是一个免费的SSH、Telnet和Serial客户端,广泛用于远程登录和管理Linux或Unix服务器。 **PLink的介绍:** PLink全称为PuTTY Link,是由Simon Tatham开发的PuTTY项目的一个组件。它...

    登陆linux服务器执行cmd.zip

    本文件"登陆linux服务器执行cmd.zip"似乎包含了一个与通过Java连接到Linux服务器并执行命令相关的场景。下面我们将详细探讨这个主题。 1. **SSH连接**: Linux服务器通常使用Secure Shell (SSH) 协议进行远程访问。...

    ssh登陆软件Windows 登陆Linux

    用户可以生成一对密钥,将公钥放在Linux服务器的`~/.ssh/authorized_keys`文件中,然后使用私钥在Windows客户端进行无密码登录。 5. **会话记录**:SSH Secure Shell Client通常提供会话记录功能,允许用户保存和...

    linux如何配置双机SSH信任然后双向免密码登陆.docx

    Linux 双机 SSH 信任配置与双向免密码登陆 Linux 双机 SSH 信任配置是指在两个 Linux 机器之间建立安全的信任关系,以便实现双向免密码登陆。这种配置方式使用公私钥认证机制,通过生成公私钥对,实现客户端到...

    linux 远程终端控制工具

    - **公钥认证**:为了提高安全性,推荐使用公钥认证,用户需要在本地生成公钥/私钥对,并将公钥复制到远程主机的`~/.ssh/authorized_keys`文件中。 - **防火墙规则**:确保防火墙允许SSH流量通过,通常在iptables或...

    linux远程工具(securecrt)(十分好用)

    Linux远程工具SecureCRT是一款强大的终端仿真程序,专为在Windows平台上连接远程Linux服务器而设计。它的功能强大,界面直观,提供了丰富的自定义选项,使得它成为管理员和开发者的首选工具之一。下面将详细介绍...

    Linux SSH配置和禁止Root远程登陆设置文档(技术学习).docx

    Linux SSH 配置和禁止 Root 远程登录设置 Linux SSH 配置和禁止 Root 远程登录设置是 Linux 系统中的一项重要的安全设置。通过本文档,我们将了解如何配置 SSH 服务器,禁止 Root 用户远程登录,提高 Linux 系统的...

Global site tag (gtag.js) - Google Analytics