在工作中,不可能每时每刻都能对服务器进行管理,当不在服务器附近,而这时又出了一些问题时,那就需要用到远程管理服务ssh,一般情况下,谁都无法远程操控他人的主机,那如果需要这个服务的前提是什么呢?
首先打开两台虚拟机,使用nm-connection-editor来设定网络,
由于有些服务没有说到,所以先使用最简单的操作方式,删除原有的网络再添加新的网络,
点击Delete后再点击Add添加在Ethernet下MAC的菜单选择eth0,下来设置IPV4网络设置,
在method中选择自定义网络Manual,
在地址栏的设置如下,
前三位为网络位,使用相同的ip,后一位为主机位应不同,在设置ip时每一个都不应该超过255,主机位则应在2-254之间的数字,netmask输入24为子网掩码,设置完成后保存,使用ip addr show eth0查看ip,
用ping ‘ip‘来看两个网络是否相通,网络相通后,使用ssh 用户@用户ip,
如果第一次使用ssh命令登陆,需要询问你一些信息,输入yes后输入登陆端的密码,就登陆完成,现在就已经可以远程操控他人的主机。使用scp可以远程传输文件,如图,登陆远程主机后scp 复制文件的绝对路径 复制到哪个用户@用户ip:存放地点,按照提示操作,出现传输进度条后,传输完成。
查看登陆信息
查看登陆信息可以使用w,last和lastb三个命令,
w查看当前系统的用户参数有-i,-f分别为查看ip,查看来源。
last查看使用过,已退出的用户信息
lastb查看登陆但没有成功的用户信息
服务控制命令
ssh服务能否使用的前提是sshd的服务有没有开启,如何查看开启与否使用systemctl加上命令使用,
systemctl status sshd查看sshd的使用状态,上面显示active表示正在运行。
systemctl stop sshd将sshd服务停止,上面显示inactive,当我们再登陆这台主机的时候,系统提示访问被拒绝,这样别人也就无法远程登陆你的机器。
systemctl start sshd将服务开启,开启服务远程就又能使用sshd服务进行登陆。
| 命令 | 功能 | 注释 |
|---|---|---|
| restart | 重启服务 | 修改sshd文件后需重启服务才可以看到效果,不然将保持未改变时的效果 |
| relod | 重新加载服务 | |
| enable | 设置开机启动 | |
| disable | 设置开机不启动 | |
| list-units | 列出已经开启服务的状态 | |
| list-units-files | 列出所有服务开机启动的状态 | |
| list-dependencies | 列出所有服务依赖 | |
| graphical.target | 系统启动为图形模式 | |
| list-dependencies | 系统启动为非图形模式 |




ssh密钥加密
在每次远程登陆时都需要输入密码,
这让很多人觉得十分的不方便,同时ssh服务输入密码,他的密码加密方式使用时间较长时,远程登陆的安全性也大大降低,那么在登陆时有没有方法让人门可以不输入密码就能直接登陆呢?那肯定是有的,这个方法就是密钥登陆。
密钥登陆设置的方法为ssh-keygen,
第一步先使用ssh命令远程登陆服务器,确认是可以登陆上去的,记得要退出登陆(ctrl+d 或者输入exit都可以退出)下来使用ssh-keygen命令设置密钥,提示上显示的是密钥设置的默认路径一般不做修改,按下回车,下来系统提示输入密码(有需要就设置,没有需要就不设置,本文做展示时默认不设置密码),按两次回车键,密钥就设置完成。
设置完成使用ls /root/.ssh查看,看到生成两个文件,一个为rsa一个为rsa.pub,rsa为私钥,rsa.pub为公钥。
第二种设置方式可以直接使用命令,ssh-keygen -f /root/.ssh/id_rsa -P ""意为在/root/.ssh/id_rsa为路径,-P设置密码密码为空。

下来执行ssh-copy-id -i /root/.ssh/id_rsa.pub root@需要设置服务器的id,意为复制公钥到需要设置公钥的地址。公钥为一般放在服务器上,相当与一把锁,私钥才为钥匙。输入命令后系统需要你输入密码,密码为设置公钥主机的密码。再用ls查看/root/.ssh/发现生成 authorized_keys这样就生成了公钥。
这样使用客户端再登陆发现还是输入密码依然可以登陆,
下来需要改/etc/ssh/sshd_config中的文件,78行PasseordAuthentication中的yes改为no
(PasseordAuthentication表示是否使用密码登陆),下来systemctl restart sshd.service(重新加载文件),发现登陆不了。
下来将私钥发送给用户(scp /root/.ssh/id_rsa root@需要私钥的主机ip:/root/.ssh/ ),这样即使没有密码也可以直接登陆。

sshd文件更改的作用
更改端口登陆
更改sshd的文件port 中端口数字(默认端口为22),
systemctl restart sshd.service(重新加载),netstat -antulp | grep sshd查看端口,使用客户端登陆发现系统提示没有找到22端口,
我们使用新端口的参数为-p后接端口数,发现还是登陆不上去,
使用setenforce 0 关闭selinux服务,systemctl restart sshd.service(重新加载文件)
切换到客户端,连接新端口 -p 端口号,
还登不上关闭火墙,systemctl stop firewalld,
再登陆这样就登陆完成。
绑定ip
ip addr show 查看ip 有一个额外ip 127.0.0.1 以服务器界面登陆
打开/etc/ssh/sshd_config,更改listenaddress中的ip地址
systemctl restart sshd.service(重新加载文件)再登陆就上不去了,只能使用设定的ip进入,
禁止root用户登陆
在/etc/ssh/sshd_config下找到permitrootlogin 更改设定,重新加载。使用root账户会被拒绝,使用其他账户依然可以登陆。
禁止密钥登陆
在/etc/ssh/sshd_config下找到 pubkeyauthentication yes|no
本来可以直接登陆的用户只能输入密码进行登陆了。
白名单
在/etc/ssh/sshd_config任意行输入AllowUsers,
本来可以登陆的用户就不能登陆只有指定的用户可以登陆。
黑名单
在/etc/ssh/sshd_config任意行输入DenyUsers,这样一些用户就会被拒绝掉。

1059

被折叠的 条评论
为什么被折叠?



