使用ssh服务远程管理主机

重要命令systemctl安全

systemctl管理服务的启动、重启、中止、重载、查看状态的命令:网络

Sysvinit命令(红帽RHEL6系统)ssh

Systemctl命令(红帽RHEL7系统)加密

做用spa

service foo start3d

systemctl start foo.servicerest

启动服务blog

service foo restartip

systemctl restart foo.serviceci

重启服务

service foo stop

systemctl stop foo.service

中止服务

service foo reload

systemctl reload foo.service

从新加载配置文件(不终止服务)

service foo status

systemctl status foo.service

查看服务状态

 

systemctl设置服务的开机启动、不启动、查看各级别下服务启动状态的命令:

Sysvinit命令(红帽RHEL6系统)

Systemctl命令(红帽RHEL7系统)

做用

chkconfig foo on

systemctl enable foo.service

开机自动启动

chkconfig foo off

systemctl disable foo.service

开机不自动启动

chkconfig foo

systemctl is-enabled foo.service

查看特定服务是否为开机自启动

chkconfig --list

systemctl list-unit-files --type=service

查看各个级别下服务的启动与禁用状况

了解sshd服务

SSH(Secure Shell)是一种可以提供安全远程登录会话的协议,假如但愿在远程Linux系统中执行命令,就是经过这个协议啦!

为何要强调SSH协议是安全的呢?由于好比ftp、telnet等服务在网络上不会对口令或数据进行加密,那么骇客们真的很是容易就能够截获这些信息(尤为是同局域网内的用户),所以它们在本质是就是不安全的。

sshd服务提供两种安全验证的方法:

基于口令的安全验证:通过验证账号与密码便可登录到远程主机。

基于密钥的安全验证:须要在本地生成”密钥对“后将公钥传送至服务端,进行公共密钥的比较。

sshd服务的配置文件解析:

[root@fanwenting-hbza ~]# cat /etc/ssh/sshd_config

参数

做用

#Port 22

默认的sshd服务端口。

#ListenAddress 0.0.0.0

设定sshd服务端监听的IP地址。

#Protocol 2

SSH协议的版本号。

#HostKey /etc/ssh/ssh_host_key

SSH协议版本为1时,私钥存放的位置。

HostKey /etc/ssh/ssh_host_rsa_key

SSH协议版本为2时,RSA私钥存放的位置。

#HostKey /etc/ssh/ssh_host_dsa_key

SSH协议版本为2时,DSA私钥存放的位置。

#PermitRootLogin yes

设定是否容许root用户直接登陆。

#StrictModes yes

当远程用户私钥改变时则直接拒绝链接。

#MaxAuthTries 6

最大密码尝试次数

#MaxSessions 10

最大终端数

#PasswordAuthentication yes

是否容许密码验证

#PermitEmptyPasswords no

是否容许空密码登录(很不安全)

若您想要修改服务的配置参数,请必定要记得删除参数前面的注释符”#“并重启服务才生效的。

使用ssh命令

ssh命令用于远程管理Linux主机,格式为:“ssh [参数] 主机”。

参数

做用

-p

指定链接端口(默认为22)

-v

显示链接过程的详细信息

 

 

 

咱们如今要使用密钥对实现一台主机对另外一台远程机器的管理

此时有两台都为centOS系统的虚拟机,首先将两台主机的网关设置成相同的,而且将两台主机ping通,必定要将两台虚拟机设置为桥接模式。

 

 在网络适配器中将两台要链接的虚拟机都设置为桥接模式,而且将两台虚拟机的网关设置为相同的,保证两台虚拟机对彼此都能ping通。

 

 

 

网关设置相同后,ping通彼此。

 

 

 

此时我要使用网关为192.168.35.111的虚拟机控制192.168.35.100的虚拟机。

首先咱们在网关为192.168.35.111的虚拟机上输入命令来获取一段密钥

[root@localhost network-scripts]# ssh-keygen

 一直按回车键。

以后将得到的密钥copy给192.168.35.100的主机

[root@localhost network-scripts]# ssh-copy-id 192.168.35.100

 

而后如今在192.168.35.100的主机上打开终端输入命令来重启一下端口

[root@hbza ~]# ssh restart sshd

 再转换到192.168.35.111的主机上输入命令来远程控制192.168.35.100的主机

[root@localhost network-scripts]# ssh 192.168.35.100

而后你就会发现输入密码之后你的主机名就变成另一台主机的名称了,此时你输入的命令都会在另外一台主机上执行相应的操做。

 

 若是说你不想经过密码就能够直接进入另外一台主机,须要在另外一台主机上设置一下sshd端口。

将容许密码验证设为no。

 

 

容许密钥验证设置为yes。

 

 

 

而后保存并退出,重启sshd 生效便可。

[root@hbza ~]# systemctl restart sshd

而后再次尝试无需密码的登陆便可。

 

 

 

 远程传输命令

要想将一些文件经过网络传送给其余主机,又刚好两台主机都是Linux系统,咱们即可以直接用scp命令传输文件到另一台主机~

scp命令用于在网络中安全的传输文件,格式为:“scp [参数] 本地文件 远程账户@远程IP地址:远程目录”。

参数

做用

-v

显示详细的链接进度

-P

指定远程主机的sshd端口号

-r

传送文件夹时请加此参数

-6

使用ipv6协议

相关文章
相关标签/搜索