zoukankan      html  css  js  c++  java
  • 使用ssh服务远程管理主机

    重要命令systemctl

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

    Sysvinit命令(红帽RHEL6系统)

    Systemctl命令(红帽RHEL7系统)

    作用

    service foo start

    systemctl start foo.service

    启动服务

    service foo restart

    systemctl restart foo.service

    重启服务

    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协议

  • 相关阅读:
    为函数的参数指定类型
    装饰器函数导致的原函数的元数据被替代--保存元数据
    ssm单项目整合
    security权限控制
    springAOP学习笔记
    springIOC学习笔记
    springDataJpa学习笔记
    springmvc学习笔记
    原生mybaits学习笔记
    java反射和注解
  • 原文地址:https://www.cnblogs.com/fairyting/p/11752008.html
Copyright © 2011-2022 走看看