美文网首页
计划任务,网络配置,SSH

计划任务,网络配置,SSH

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-08-02 09:10 被阅读0次

    任务计划

    单次任务

    进行单次任务的程序是 at 命令, 管理他的服务是 atd。
    systemctl restart atd
    systemctl enable atd
    systemctl status atd

    [root@study ~]# at [-mldv] TIME
    [root@study ~]# at -c 工作号码
    选项与参数:
    -m  :当 at 的工作完成后,即使没有输出讯息,亦以 email 通知使用者该工作已完成。
    -l  :at -l 相当于 `atq` 命令,列出目前系统上面的所有该使用者的 at 调度;
    -d  :at -d 相当于 `atrm` 命令 ,可以取消一个在 `at` 调度中的工作;
    -v  :可以使用较明显的时间格式列出 at 调度中的工作列表;
    -c  :可以列出后面接的该项工作的实际指令内容。
    

    Ps:格式有:
    HH:MM 如: 04:00
    在今日的 HH:MM 进行,若时间已过,则在明天的 HH:MM 进行行此工作。
    HH:MM YYYY-MM-DD 如: 04:00 2019-07-28
    強制在某年某月的某一天的特殊時刻進行該工作!
    HH:MM[am|pm] + number [minutes|hours|days|weeks]
    如:
    now + 5 minutes

    04pm + 3 days
    就是說,在某個时间点『再加上几个时间后』才进行。

    [root@kvm-docker ~]# at now + 5 minutes
    at> echo "hello" > /dev/pts/0
    at> <EOT>
    job 1 at Sat Jul 27 18:49:00 2019
    

    周期性任务

    和 at 一样,有两个文件控制权限。
    /etc/cron.allow 允许某用户,其他都禁止
    /etc/cron.deny 阻止某用户,其他都允许
    /etc/cron.allow 比 /etc/cron.deny 要优先, 请永远用一个文件进行控制,别给自己找麻烦!

    cat /etc/crontab 查看crontab的时间格式
    分 时 日 月 星

    符号表示:


    周期计划.jpg

    crontab -e 设置周期任务计划
    Ps:
    每天早上6点:
    0 6 * * * command

    crontab -l 查看任务周期计划

    crontab -e 删除周期任务计划
    或者 crontab -r 删除所有周期任务计划

    Ps:实例:
    不要在统一时间段执行多个计划任务
    将命令的错误输出重定向

    */1   *   *   *   *   /bin/echo  "hello"      2> /dev/null
    

    周与日月不可同时并存
    2>/dev/null 错误输出到
    1>/dev/null 正确输出到

    anacron的作用:
    当由于关机crontab要执行的任务未完成,就会有anacron在开机之后在数小时内完成,当然,anacron也是crontab每小时来调用的。

    基础网络

     应用层
     表示层
     会话层
     传输层
     网络层
     数据链路层
     物理层
    

    网络配置

    ifup ens33激活网卡

    ip -a  显示现在的本机信息
    ip  -s link 显示网络接口的统计信息
    ip neigh 查看接入本机所在的局域网的其他设备的MAC地址,先ping通,才会在这条指令下显示
    ip link set eth1 down  关闭某个接口
    ip link set eth1 up  卡开某个接口
    

    静态ip配置

    系统网卡的配置文件在 /etc/sysconfig/network-scripts/ifcfg-ens33 
    
    TYPE=Ethernet   # 网络类型,不需要编辑
    BOOTPROTO=none   # 获取地址的方式,可选值 none  表示手动配置 , dhcp 表示从  DHCP 服务器自动获取
    IPADDR=192.168.1.52   # 本机的IP 地址
    PREFIX=24    # 子网掩码前缀的方式,24 表示 255.255.255.0
    GATEWAY=192.168.1.1    # 网关
    DNS1=114.114.114.114    # 手动配置的 DNS 地址
    DEFROUTE=yes           
    PEERDNS=no          # 使用这里设置的  DNS
    ONBOOT=yes           # 是否开机激活这个网卡,假如不激活,重启网络服务也是无效的。
    
    systemctl    restart   network   # 字符界面下
    systemctl    restartNetworkManager  # 图形界面下
    

    配置主机名

    hostnamectl set-hostname rourou    设置主机名
    hostname      查看主机名
    

    配置解析主机名(类似于DNS) /etc/hosts

    10.0.122.133  sharkhost
    10.0.122.124  stushost
    

    查看监听端口

    ss -l 显示本地打开的所有端口
    ss -pl 显示每个进程具体打开的socket
    ss -t -a 显示所有tcp socket
    ss -u -a 显示所有的UDP Socekt
    ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
    ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
    ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
    ss -s 列出当前socket详细信息
    ss -n 监听端口用数字表示
    
    ss -natl   常用指令
    

    SSH和SSHD

    配置文件位置:/etc/ssh/sshd_config

    1\.  SSH Server 的设置,包含使用的 port 啦,以及使用的密碼演算方式
    Port 22
    # SSH 默认监听 22 這個port,也可以使用多個port,即重複使用 port 這個設定項目!
    # 例如想要開放 sshd 在 22 與 443 ,則多加一行內容為:『 Port 443 』
    # 然後重新啟動 sshd 這樣就好了!不過,不建議修改 port number 啦!
    
    Protocol 2
    # 選擇的 SSH 協定版本,可以是 1 也可以是 2 ,CentOS 5.x 預設是僅支援 V2。
    # 如果想要支援舊版 V1 ,就得要使用『 Protocol 2,1 』才行。
    
    ListenAddress 0.0.0.0
    # 監聽的主機介面卡!舉個例子來說,如果你有兩個 IP,分別是 192.168.1.100 及 192.168.100.254,假設你只想要讓 192.168.1.100 可以監聽 sshd ,那就這樣寫:
    # 『 ListenAddress 192.168.1.100 』預設值是監聽所有介面的 SSH 要求
    
    PidFile /var/run/sshd.pid
    # 可以放置 SSHD 這個 PID 的檔案!上述為預設值
    
    LoginGraceTime 2m
    # 當使用者連上 SSH server 之後,會出現輸入密碼的畫面,在該畫面中,
    # 在多久時間內沒有成功連上 SSH server 就強迫斷線!若無單位則預設時間為秒!
    
    Compression delayed
    # 指定何時開始使用壓縮資料模式進行傳輸。有 yes, no 與登入後才將資料壓縮 (delayed)
    
    2\. 說明主機的 Private Key 放置的檔案,預設使用下面的檔案即可!
    HostKey /etc/ssh/ssh_host_key        # SSH version 1 使用的私鑰
    HostKey /etc/ssh/ssh_host_rsa_key    # SSH version 2 使用的 RSA 私鑰
    HostKey /etc/ssh/ssh_host_dsa_key    # SSH version 2 使用的 DSA 私鑰
    # 還記得我們在主機的 SSH 連線流程裡面談到的,這裡就是 Host Key ~
    
    3\. 關於登錄檔的訊息資料放置與 daemon 的名稱!
    SyslogFacility AUTHPRIV
    # 當有人使用 SSH 登入系統的時候,SSH 會記錄資訊,這個資訊要記錄在什麼 daemon name
    # 底下?預設是以 AUTH 來設定的,即是 /var/log/secure 裡面!什麼?忘記了!
    # 回到 [Linux 基礎](http://linux.vbird.org/linux_basic/)去翻一下。其他可用的 daemon name 為:
    DAEMON,USER,AUTH, LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,
    
    LogLevel INFO
    # 登錄記錄的等級!嘿嘿!任何訊息!同樣的,忘記了就回去參考!
    
    4\. 安全設定項目!極重要!
    4.1 登入設定部分
    PermitRootLogin yes
    # 是否允許 root 登入!預設是允許的,但是建議設定成 no!
    
    StrictModes yes
    # 是否讓 sshd 去檢查使用者家目錄或相關檔案的權限資料,
    # 這是為了擔心使用者將某些重要檔案的權限設錯,可能會導致一些問題所致。
    # 例如使用者的 ~.ssh/ 權限設錯時,某些特殊情況下會不許用戶登入
    
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
    # 是否允許用戶自行使用成對的金鑰系統進行登入行為,僅針對 version 2。
    # 至於自製的公鑰資料就放置於使用者家目錄下的 .ssh/authorized_keys 內
    
    PasswordAuthentication yes
    # 密碼驗證當然是需要的!所以這裡寫 yes 囉!
    
    PermitEmptyPasswords no
    # 若上面那一項如果設定為 yes 的話,這一項就最好設定為 no ,
    # 這個項目在是否允許以空的密碼登入!當然不許!
    
    4.2 認證部分
    RhostsAuthentication no
    # 本機系統不使用 .rhosts,因為僅使用 .rhosts太不安全了,所以這裡一定要設定為 no
    
    IgnoreRhosts yes
    # 是否取消使用 ~/.ssh/.rhosts 來做為認證!當然是!
    
    RhostsRSAAuthentication no #
    # 這個選項是專門給 version 1 用的,使用 rhosts 檔案在 /etc/hosts.equiv
    # 配合 RSA 演算方式來進行認證!不要使用啊!
    
    HostbasedAuthentication no
    # 這個項目與上面的項目類似,不過是給 version 2 使用的!
    
    IgnoreUserKnownHosts no
    # 是否忽略家目錄內的 ~/.ssh/known_hosts 這個檔案所記錄的主機內容?
    # 當然不要忽略,所以這裡就是 no 啦!
    
    ChallengeResponseAuthentication no
    # 允許任何的密碼認證!所以,任何 login.conf 規定的認證方式,均可適用!
    # 但目前我們比較喜歡使用 PAM 模組幫忙管理認證,因此這個選項可以設定為 no 喔!
    
    UsePAM yes
    # 利用 PAM 管理使用者認證有很多好處,可以記錄與管理。
    # 所以這裡我們建議你使用 UsePAM 且 ChallengeResponseAuthentication 設定為 no 
    
    4.3 與 Kerberos 有關的參數設定!因為我們沒有 Kerberos 主機,所以底下不用設定!
    KerberosAuthentication no
    KerberosOrLocalPasswd yes
    KerberosTicketCleanup yes
    KerberosTgtPassing no
    
    4.4 底下是有關在 X-Window 底下使用的相關設定!
    X11Forwarding yes
    #X11DisplayOffset 10
    # X11UseLocalhost yes
    # 比較重要的是 X11Forwarding 項目,他可以讓視窗的資料透過 ssh 通道來傳送喔!
    
    4.5 登入後的項目:
    PrintMotd yes
    # 登入後是否顯示出一些資訊呢?例如上次登入的時間、地點等等,預設是 yes
    # 亦即是列印出 /etc/motd 這個檔案的內容。但是,如果為了安全,可以考慮改為 no !
    
    PrintLastLog yes
    # 顯示上次登入的資訊!可以啊!預設也是 yes !
    
    TCPKeepAlive yes
    # 當達成連線後,伺服器會一直傳送 TCP 封包給用戶端藉以判斷對方式否一直存在連線。
    # 不過,如果連線時中間的路由器暫時停止服務幾秒鐘,也會讓連線中斷喔!
    # 在這個情況下,任何一端死掉後,SSH可以立刻知道!而不會有僵屍程序的發生!
    # 但如果你的網路或路由器常常不穩定,那麼可以設定為 no 的啦!
    
    UsePrivilegeSeparation yes
    # 是否使用權限較低的程序來提供使用者操作。我們知道 sshd 啟動在 port 22 ,
    # 因此啟動的程序是屬於 root 的身份。那麼當 student 登入後,這個設定值
    # 會讓 sshd 產生一個屬於 sutdent 的 sshd 程序來使用,對系統較安全
    
    MaxStartups 10
    # 同時允許幾個尚未登入的連線畫面?當我們連上 SSH ,但是尚未輸入密碼時,
    # 這個時候就是我們所謂的連線畫面啦!在這個連線畫面中,為了保護主機,
    # 所以需要設定最大值,預設最多十個連線畫面,而已經建立連線的不計算在這十個當中
    
    4.6 關於使用者抵擋的設定項目:
    DenyUsers *
    # 設定受抵擋的使用者名稱,如果是全部的使用者,那就是全部擋吧!
    # 若是部分使用者,可以將該帳號填入!例如下列!
    DenyUsers test
    
    DenyGroups test
    # 與 DenyUsers 相同!僅抵擋幾個群組而已!
    
    5\. 關於 SFTP 服務與其他的設定項目!
    Subsystem       sftp    /usr/lib/ssh/sftp-server
    UseDNS yes
    # 一般來說,為了要判斷用戶端來源是正常合法的,因此會使用 DNS 去反查用戶端的主機名
    # 不過如果是在內網互連,這項目設定為 no 会连接建立的速度比較快。
    

    ssh步骤

    没有其他选项的ssh:
    1.产生密钥对

    ssh-keygen
    此时,当前用户的家目录的 .ssh 目录下就会有密钥对
    id_rsa            私钥
    id_rsa.pub     公钥
    

    2.连接ssh服务器端

    ssh root@10.0.122.102
    

    改变端口的ssh

    vim /etc/ssh/sshd_config
    port 2222
    
    ssh - p 2222 root@10.0.122.102
    

    免密的ssh

    ssh-copy-id root@10.0.122.102
    

    会将自己系统产生的公钥发给对方

    文件传输

                           源文档                                目标文档
    scp -P 2222  local_file.txt                        root@10.0.122.133:/tmp/
    scp -P 2222  root@10.0.122.133:/tmp/local_file.txt         .
    scp -r  mrking@10.0.122.102:/home/mrking/公共            .     传输目录
    ssh mrking@10.0.122.102 "ls"    执行ls并带回结果,相当于打开个通道
    

    Ps:/家目录/.ssh/authorized_keys 存放别人免密登录的公钥
    /家目录/.ssh/knowhosts 存放着别人主机的公钥,防止被篡改9

    相关文章

      网友评论

          本文标题:计划任务,网络配置,SSH

          本文链接:https://www.haomeiwen.com/subject/yqvfdctx.html