Linux系统sshd服务

一、主机名称的修改

在本次操作中,需要用到两台虚拟机,其中一台作为客户端,一台作为服务端,所以首先我们要修改虚拟机的名称便于后面的操作。

具体修改方式:在shell中执行hostnamectl set-hostname xxx.example.com。如下图

完成操作后要重新打开一个新shell,即刻生效


上图为服务端,为了方便区分,我将客户端更改了颜色,操作一样,如下图:




二、网络的配置

1.实验操作需要用到ip地址,因此我将两台虚拟机的ip地址进行了修改,方便记忆,便于后面的操作。

首先查看了真机的ip地址,如下图:


可以看到真机的ip为172.25.254.77,因此我准备将两台虚拟机的ip设为172.25.254.7和172.25.254.177,操作如下:

首先输入nm-connection-editor


删除原来的配置文件,在选择add自己创建自己想要的ip


选择自己的网卡


在设置ipv4,在Method下选择Manual在Add输入自己想要的ip地址,网络掩码设为24,网关部分空格一下即可,完成后save保存如下图:

这样ip地址就改成自己想要的了,我们查看一下:


同理,将服务端的ip也改了:



三、客户端的链接

1.让远程主机可以通过网络访问sshd服务,开始一个安全shell,在客户端打开

实现方法:ssh 远程主机用户@远程主机ip(也就是我这里的服务端的用户和ip),如下图:


上图输入yes一行表示连接陌生主机时需要建立认证关系;第二行输入服务端密码;完成后登陆成功。

怎么证明我已经在客户端打开的是服务端的shell方法很多,我这里查询了自己当前的ip证明了我已经在服务端,如下图


但是这种登陆方式只能在服务端进行文本操作,不能打开图形,如下图:


要想打开图形只需在命令后加入  -X 即可:


还有一种方法也可以实现,直接在-X后加你想要的图形操作:



四、sshkey加密


上面的操作很方便,但是有时候我们不想让别人直接登陆我们,我们只想让指定的人登陆,这时候就要用到sshkey加密。

加密三步走

第一步:生成公钥和私钥,命令ssh-keygen:

上图过程中第一个冒号:加密字符保存文件(建议用默认,按回车键即可)

第二个冒号:密钥密码,应该大于四位(也可以为空,按回车即可)

第三个冒号:再次确认密钥密码。


然后开始第二步:添加key认证方式,命令ssh-copy-id  -i  /root/.ssh/id_rsa.pub root@172.25.254.7

上述命令:ssh-copy-id是添加key认证方式的工具

-i 是指定加密key文件,后接/root/.ssh/id_rsa.pub加密key

root是加密用户

172.25.254.7是被加密主机ip(也就是服务端ip) 如下图:


添加认证方式后会在目录中产生认证文件。但是此时若不将原来的密码登录方式关掉的话,该加密方式不生效,登陆密码还是能直接登陆:

所以我们要关闭密码登录方式:vim编辑/etc/ssh/sshd_config中第78行,将yes改为no,wq退出保存,即关闭ssh密码登录方式:(记得重新加载sshd服务才能生效)



此时没有分发私钥的用户无法通过ssh远程连接:变成如下图模式:



接下来进行第三步:发送私钥到客户端

scp  /root/.ssh/id_rsa root@172.25.254.177(发给客户端所以填客户端ip):/root/.ssh/ 如下图:


分发成功后该用户ssh连接时不需要输入密码



五、黑白名单的设置

1.vim编辑/etc/ssh/sshd_config,第48行PermitRootLogin yes  将yes改成no所有人都没有权限登陆我的ROOT

2.黑名单的设置:除了黑名单的用户,其他用户都可以用ssh连接我(服务端)

同样vim编辑/etc/ssh/sshd_config,在PermitRootLogin yes下命令Denyusers+用户,我将root用户加入黑名单:(wq退出保存后记得重新加载sshd服务命令才会生效)


此时root用用户将连接不到服务端,将一直提示再次输入密码:



白名单的设置:当服务端设置了白名单将只有白名单上的用户可以登录。

同样vim编辑/etc/ssh/sshd_config,命令为Allowusers+允许用户,同样我将root用户加入白名单:(wq退出保存后记得重新加载sshd服务)


可以看出此时我切换到student用户因为不在白名单内,所以也出现了相同情况,会一直提示你输入密码登录:



六、文件传输

1、scp命令

1)将文件从服务端拷贝给客户端,服务端输入命令:scp 文件所在路径  (客户端用户)root@客户端ip:客户端存放路径,如下图

2)用户在客户端从服务端获取文件,命令:scp(如果要获取目录这里接-r) root@服务端ip:文件在服务端的路径  获取到客户端的存放路径,如下图


2、rsync(复印)命令,用法与scp(手抄)类似,速度快

-r  复制目录

-l  不忽略文件里的链接

-p 不忽略权限

-t  不忽略时间戳

-g 不忽略用户

-o 不忽略组

-D 不忽略块设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值