ssh免密码登录

摘要:
修改完成后,需要重新启动SSH服务“servicesshdrestart”才能生效。以root用户身份登录客户端。可以看到,当输入根用户的密码时,用户无法登录。应禁止root用户登录服务器。最后,修改的所有者和组。ssh/directory设置为Jerry,并修改的权限。ssh/directory设置为700。

ssh免密码登录第1张

二、实验需求:

  • 为了服务器的安全,在服务器上禁止root用户通过SSH远程登录。
  • 允许zhangsan用户在192.168.1.2客户机上通过SSH远程登录。
  • 允许lisi用户在192.168.1.3客户机上通过SSH远程登录,
  • 允许jerry用户在所有的客户机上通过SSH远程登录,并且是通过密钥对验证。

三、实验步骤:

1.实验的前提,就是配置ip地址和新建用户的操作我就不在介绍了,用户在SSH服务器上创建。

2.SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,SSH需要的包有openssh、openssh-server等软件包,默认安装linux的时候就安装了,并且服务也启动了。

ssh免密码登录第2张

3.SSH远程服务有两个主配置文件,一个是服务端的/etc/ssh/sshd_config主要是服务器端的配置,一个是客户端的主配置文件,/etc/ssh/ssh_config,这个文件几乎不用配置,默认就可以了。

ssh免密码登录第3张

4.远程服务SSH主配置文件的介绍,其实也几乎不用配置.....

[root@localhost ~]#vim /etc/ssh/sshd_config

ssh免密码登录第4张

PermitRootLogin no //禁止root用户登录

PermitEmptyPassword no //禁止空密码用户登录

LoginGraceTime 2m //登录验证时间为2分钟

MaxAuthTries 6 //最大重试次数为6

5.这里根据实验的步骤需求,我需要禁止root用户远程登录。

ssh免密码登录第5张

修改完成后,需要重新启动SSH的服务 "service sshd restart",才能生效,在客户机上测试用root用户登录。

在客户机上登录服务器时,用ssh命令,登录的方式有两种:

ssh -l root 192.168.1.1 [-p 端口号] //如果修改了端口,需要加"-p"参数。

ssh root@192.168.1.1 [-p 端口号]

ssh免密码登录第6张

在第一次登录的时候必须接受服务器发来的RSA密钥(根据题示输入yes)后才能继续验证,这个密钥是加密数据的通信,会在用户宿主目录里的ssh/目录下生成一个known_hosts文件。可以看到当输入root用户的密码是不能登录,应为在服务器上禁止root用户登录。

6.允许zhangsan用户在客户机192.168.1.2上登录服务器,允许lisi用户在192.168.1.3客户机上通过SSH远程登录,允许jerry用户在所有的客户机上通过SSH远程登录,并且是通过密钥对验证,一般只允许少数的用户登录,需要在/etc/ssh/sshd_config文件中用AllowUsers。有AllowUsers和DenyUsers两种权限,同一时刻只能用一个,

[root@localhost ~]#vim /etc/ssh/sshd_config

.......... //省略

AllowUsers zhangsan@192.168.1.2 lisi@192.168.1.3 jerry //除了这里允许的用户其他用户都禁止远程登录。

ssh免密码登录第7张

[root@localhost ~]#service sshd restart //重新启动sshd服务

ssh免密码登录第8张

zhangsan用户可以在192.168.1.2客户机上远程登录服务器,

ssh免密码登录第9张

lisi用户不能在192.168.1.2客户机上远程登录服务器。在window 7中用puTTY登录服务器用lisi,是可以允许登录。

ssh免密码登录第10张

7.用户jerry在任何客户机上都可以登录服务器,但是默认用密码认证登录的,但这里需要密钥对验证,所以需要创建jerry用户的私钥和公钥文件,私钥文件最后要上传到服务器上需要登录用户的宿主目录下的.ssh/并且名字为authorized_keys,并且.ssh/目录的属主和属组都为要登录用户,权限为700。创建SSH密钥对验证的体系为:

ssh免密码登录第11张

8.通过ssh-keygen -t rsa/dsa //加密算法为rsa或dsa,"-t"用于指定算法类型。

ssh免密码登录第12张

第一步完成, 在做第二步的时候有两种方法。

方法一:通过 scp复制到服务器上。

ssh免密码登录第13张

然后远程到服务上,把复制的id_rsa.pub文件放到jerry的宿主目录下的.ssh/目录下,修改名称。

ssh免密码登录第14张

最后修改.ssh/目录的属主和属组为jerry,并且修改.ssh/目录的权限为700。

ssh免密码登录第15张

然后使用第四步测试jerry用户远程登录的时候需要密钥对验证。

ssh免密码登录第16张

方法二:在客户机上需要一条命令,就可以完成第二步到第三步的操作。

ssh-copy-id -i /root/.ssh/id_rsa.pub jerry@192.168.1.1 //在使用此命令时,默认SSH的端口为22 ,如果修改了端口号,只能用方法一实现。

ssh免密码登录第17张

使用ssh-copy-id命令时,所以的修改文件名和设置权限都是自动完成的,如果没有.ssh/目录,会自动创建的。

9.在window7中,使用密钥对验证时,需要把在linux客户机中生成的私钥文件复制到window7中,通过WinSCP工具

ssh免密码登录第18张

ssh免密码登录第19张

linux中的私钥文件默认在window中是不识别的,我们需要用puttygen.exe软件转换为window能够识别的密钥文件。打开puttygen.exe软件。

ssh免密码登录第20张

选择第二个,第一个是生成密钥,不怎么用。

ssh免密码登录第21张

选择所有文件,不然找不到文件,然后打开。

ssh免密码登录第22张这里就是在生成密钥的时候你输入的口令,如果没有,就不会出现这个窗口。

ssh免密码登录第23张

ssh免密码登录第24张

好了,window的密钥文件已经创建好了,我们需要用putty.exe中断登录测试。

ssh免密码登录第25张

SSH----Auth是指定认证的方式。

ssh免密码登录第26张

这里需要加在刚才生成的密钥文件,然后登录。

ssh免密码登录第27张

试验完成。

附:ssh中还提供了比较好用的几个命令。scp远程复制和sftp远程ftp。

scp的使用:scp root@192.168.1.2:/etc/passwd /root/pwd123.txt //从192.168.1.2服务器以root用户复制到本地的/root/目录下。

如果端口号修改后, 需要加"-P 端口号"

sftp的使用:sftp root@192.168.1.1 [-oPort=22] //端口修改需要添加"-oPort=端口号"

免责声明:文章转载自《ssh免密码登录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Django框架简介快速配置Samba服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ansible主机清单Inventory文件hosts

Ansible主机清单Inventory文件hosts 发表于 2017-05-14 | 分类于 运维相关 , Ansible | | 阅读次数 4638| 字数统计 1,442 | 阅读时长预计 6 Ansible 通过读取默认的主机清单配置,可以同时连接到多个远程主机上执行任务组和主机之间的关系通过 inventory 文件配置. 默认的...

在Centos 6.6 中ssh出现Connection to localhost closed by remote host的问题排查

问题出现 这是在Docker中运行ssh中出现的问题,问题初始特征表现为 1 bash-4.1# ssh localhost 2 Connection to localhost closed by remote host. 问题解决过程 首先查看了sshd的启动情况,看似已经启动了 1 bash-4.1# ps ax | grep sshd 2 3...

索引节点(inode)爆满问题处理

关于磁盘空间中索引节点爆满的问题还是挺多的,借此跟大家分享几个情况: 情况一 在公司一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间,按理说不会出现这种问题。 后来用df -i查看了一下/data分区的索...

Java使用SSH远程访问Windows并执行命令

转载于:http://blog.csdn.net/carolzhang8406/article/details/6760430   https://blog.csdn.net/angel_xiaa/article/details/52355513 有关freeSSHd的用法写的很清楚 windows由于没有默认的ssh server,因此在允许ssh之前需...

通过MacOS的ssh远程打开linux的firefox(通过X11协议实现图形化显示)

1)X11有两个部分组成,一个是X server,一个是X client; --运行在Mac上的是X server,Xserver主要负责显示用户界面,管理显示器以及鼠标和键盘,把相关的动作告诉X client,通常比较多的Xserver是:windows的Xming和MobaXterm,MAC有Xquartz,以及其他各种Xserver的应用。 --运行...

[虚拟机] VMware 15 + CentOS 7.7/8.0在主机和客户机之间拷贝文件失败的解决办法

  CentOS 7.8是CentOS 7.x最后一个版本,本以为这个版本应该很完美,而且会解决7.6里对压缩包点右键没有“在当前目录解压”的选项的bug,实际试了一下比较失望,这个选项按钮还是没出现,反倒出现了一个新问题,即VMware 15(这里用的是当下最新的15.5.1)下用CentOS 7.8时,从主机往虚拟机里直接拷文件会出现如下报错,不管什么...