月度归档: 2023 年 1 月

  • AWS亚马逊ssh登录失败 Permissions 0644 for .pem are too open

    AWS亚马逊ssh登录失败 Permissions 0644 for .pem are too open

    说明

    AWS亚马逊ssh登录失败 Permissions 0644 for .pem are too open

    root@vultr:~# ssh-keygen -e -f aws-none.pem >> aws-none.pem.pub
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0644 for ‘aws-none.pem’ are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Load key “aws-none.pem”: bad permissions

    解决方法


    问题在于yourPrivateKey.pem的权限为可读可写,如下

    $ ll
    total 24
    -rw——-@ 1 zgpeace staff 1.7K Feb 18 07:24 yourPrivateKey.pem

    解决为修改为只读权限即可

    chmod 400 yourPrivateKey.pem

    $ ll
    total 24
    -r——–@ 1 zgpeace staff 1.7K Feb 18 11:24 yourPrivateKey.pem

    在初始化系统的时候,引导也有说明

  • ipcs命令 – 多进程间通信常用的工具

    ipcs命令是用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息 。

    语法格式:ipcs [参数]

    常用参数:

    -a默认的输出信息
    -m打印出使用共享内存进行进程间通信的信息
    -q打印出使用消息队列进行进程间通信的信息
    -s打印出使用信号进行进程间通信的信息

    参考实例

    输出信息的详细变化时间:

    [root@jiloc ~]# ipcs -t 

    输出ipc方式的进程ID:

    [root@jiloc ~]# ipcs -p 

    输出ipc方式的创建者/拥有者:

    [root@jiloc ~]# ipcs -c 

    输出当前系统下ipc各种方式的状态信息:

    [root@jiloc ~]# ipcs -u 

    查看各个资源的系统限制信息 :

    [root@jiloc ~]# ipcs -l 
  • su命令 – 切换用户身份

    su命令来自于英文单词“switch user”的缩写,其功能是用于切换用户身份。管理员切换至任意用户身份而无需密码验证,而普通用户切换至任意用户身份均需密码验证。另外添加单个减号(-)参数为完全的身份变更,不保留任何之前用户的环境变量信息。

    语法格式: su [参数] 用户名

    常用参数:

    单个减号(-)完全身份变更
    -c执行完指定的指令后,即恢复原来的身份
    -f适用于csh与tsch,使shell不用去读取启动文件
    -l改变身份时,也同时变更工作目录
    -m变更身份时,不要变更环境变量
    -s指定要执行的shell
    –help显示帮助信息
    –version显示版本信息

    参考实例

    变更至指定用户身份:

    [root@jiloc ~]# su jiloc

    完全变更至指定用户身份:

    [root@jiloc ~]# su - jiloc  
  • smbclient命令 – 存取SMB/CIFS服务器的用户端程序

    SMB与CIFS为服务器通信协议,常用于Windows95/98/NT等系统。smbclient(samba client)可让Linux系统存取Windows系统所分享的资源。

    语法格式:smbclient [参数]

    常用参数:

    -L显示服务器端所分享出来的所有资源
    -U指定用户名称
    -s指定smb.conf所在的目录
    -O设置用户端TCP连接槽的选项
    -N不用询问密码

    参考实例

    列出某个IP地址所提供的共享文件夹:

    [root@jiloc ~]# smbclient -L 198.168.0.1 -U username%password

    像ftp客户端一样使用smbclient :

    [root@jiloc ~]# smbclient //192.168.0.1/tmp  -U username%password 

    执行smbclient命令成功后,进入smbclient环境,出现提示符:smb:/>

    这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。

    直接一次性使用smbclient命令:

    [root@jiloc ~]# smbclient -c "ls"  //192.168.0.1/tmp  -U username%password 

    或者:

    [root@jiloc ~]# smbclient //192.168.0.1/tmp  -U username%password smb:/>ls 

    创建一个共享文件夹:

    [root@jiloc ~]# smbclient -c "mkdir share1" //192.168.0.1/tmp -U username%password 
  • gitps命令 – 报告程序状况

    gitps(gnu interactive tools process status)是用来报告并管理程序执行的指令,基本上它就是通过ps指令来报告,管理程序,也能通过gitps指令随时中断,删除不必要的程序。因为gitps指令会去执行ps指令,所以其参数和ps指令相当类似。

    语法格式:gitps [参数]

    常用参数:

    a显示现行终端机下的所有程序,包括其他用户的程序
    n以数字来表示USER和WCHAN栏位
    T显示现行终端机下的所有程序
    u以用户为主的格式来显示程序状况
    w采用宽阔的格式来显示程序状况

    参考实例

    显示指定用户信息:

    [root@jiloc ~]# gitps hnlinux

    显示现行终端机下的所有程序:

    [root@jiloc ~]# gitps a

    采用旧试的Linux i386登陆格式显示程序状况:

    [root@jiloc ~]# gitps X

    列出程序时,包括已中断的子程序信息:

    [root@jiloc ~]# gitps S

    采用纤细的格式来显示程序状况:

    [root@jiloc ~]# gitps l
  • mmove命令 – 移动文件或目录

    Linux mmove命令用于在MS-DOS文件系统中,移动文件或目录,或更改名称。

    mmove为mtools工具命令,模拟MS-DOS的move命令,可在MS-DOS文件系统中移动现有的文件或目录,或是更改现有文件或目录的名称。

    语法格式: mmove [源文件或目录] [目标文件或目录]

    常用参数:

    源文件或目录执行操作的源文件或目录路径
    目标文件或目录执行操作后的目标文件或目录路径

    参考实例

    使用指令mmove将文件a.txt移动到目录dir中:

    [root@jiloc ~]# mmove a.txt dir

    使用指令mmove将文件”autorun.bat”移动到目录”test”中 :

    [root@jiloc ~]# mmove autorun.bat test 

    以上命令执行以后,指令mmove会将文件”autorun.bat”移动到指定目录”test”中。

    使用指令mmove将文件test移动到目录”autorun.bat”中 :

    [root@jiloc ~]# mmove test autorun.bat 

    注意:用户可以使用mdir指令查看移动后的文件或目录信息。

    使用该命令前先查看原来的目录,得到如下结果:

    [root@jiloc ~]# mdir -/ a:*  Volume in drive A has no label #加载信息   Volume Serial Number is 13D2~055C   Directory for A:/ #以下为目录信息   #文件名目录大小 修改时间   ./TEST <DIR> 2009-09-23 16:59   AUTORUN.INF 265 2009-09-23 16:53   AUTORUN.BAT 43 2009-09-23 16:56   3 files 308 bytes #统计总大小   724 325 bytes free #剩余空间

    使用mmove命令,并再次查看,结果如下:

    [root@jiloc ~]# mmove autorun.bat test 
    [root@jiloc ~]# mdir -/ a:* Volume in drive A has no label #加载信息   Volume Serial Number is 13D2~055C   Directory for A:/ #以下为目录信息   #文件名目录大小 修改时间   ./TEST <DIR> 2009-09-23 16:59   AUTORUN.INF 265 2009-09-23 16:53   2 files 265 bytes #统计总大小   724 683 bytes free #剩余空间   cmd@cmd-desktop:~
     
    nbsp;mdir -/ a:test* #再次查看test目录中文件   AUTORUN.BAT 43 2009-09-23 16:56   1 files 43 bytes #统计总大小 
  • diff3命令 – 比较3个文件的不同之处

    diff3命令用于比较3个文件,将3个文件的不同的地方显示到标准输出。

    语法格式:diff3 [参数]

    常用参数:

    -A全部显示,有冲突内容用括号括起来
    -a将所有文件视为文本
    -T使制表符对齐

    参考实例

    比较3个文件的不同之处:

    [root@jiloc ~]# diff3 file1 file2 file3

    全部显示,有冲突内容用括号括起来:

    [root@jiloc ~]# diff3 -A file1 file2 file3

    将所有文件视为文本:

    [root@jiloc ~]# diff3 -a file1 file2 file3

    使制表符对齐:

    [root@jiloc ~]# diff3 -T file1 file2 file3
  • pr命令 – 将文本文件转换成适合打印的格式

    pr命令用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。

    语法格式: pr [参数]

    常用参数:

    -h为页指定标题

    参考实例

    将较大的文件分割成多个页面进行打印:

    [root@jiloc ~]# pr test.txt

    为页指定标题 :

    [root@jiloc ~]# pr -h 'Hello World' test.txt

    将文件内容分割成多列进行打印:

    [root@jiloc ~]# pr -6 test.txt
  • rename命令 – 批量修改文件名称

    rename命令的功能是用于批量修改文件名称。与mv命令一次只能修改一个文件名不同,rename命令能够基于正则表达式对文件名进行批量修改,但要求是把匹配规则准确的描述给系统。

    rename命令的参数有三项:其一是当前文件名中要被修改的字符,其二是其要被修改为的新字符,其三是要被执行的对象文件列表。初次可能有点难理解,动手尝试下吧~

    语法格式:rename 原字符 新字符 文件

    常用参数:

    ?可替代单个字符
    *可替代多个字符

    参考实例

    将当前工作目录下后缀为.cfg的文件,改成.txt后缀结尾:

    [root@jiloc ~]# rename .cfg .txt * 

    将当前工作目录下文件名中的小写a改成大写A:

    [root@jiloc ~]# rename a A * 
  • chroot命令 – 改变根目录

    chroot命令用于改变根目录。chroot(change root)命令把根目录换成指定的目的目录。

    语法格式:chroot [参数]

    常用参数:

    –help 在线帮助
    –version显示版本信息

    参考实例

    改变根目录:

    [root@jiloc ~]# chroot /mnt/ls 
  • rlogin命令 – 远端登入

    rlogin命令用于远端登入。执行rlogin指令开启终端机阶段操作,并登入远端主机。

    语法格式:rlogin [参数]

    常用参数:

    -E忽略escape字符
    -8 只识别8位字的字符
    -L允许rlogin会话运行在litout模式
    -ec设置escape字符为c
    -c断开连接前要求确认
    -a强制要求远程主机在发送完一个空的本地用户名之后请求一个密码
    -f 向远端主机发送一个本地认证
    -F向远程主机发送一个可转寄的本地认证
    -7强制执行7为的传输
    -d打开用于远端主机通信的TCP套接口的调试
    -k要求包含远端主机的tisckets
    -x 启动数据传输的DES加密
    -4只使用 kerkberos的版本4的认证

    参考实例

    显示rlogin服务是否开启:

    [root@jiloc ~]# chkconfig --list 

    开启rlogin服务:

    [root@jiloc ~]# chkconfig rlogin on 

    登陆远程主机:

    [root@jiloc ~]#  rlogin 192.168.1.88 Password:   Password:   Login incorrect   Login:root   Passwd: Login   incorrect   Login:kk   Passwd: 
  • blkid命令 – 显示关于可用块设备的信息

    blkid命令对查询设备上所采用文件系统类型进行查询。主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。

    语法格式: blkid [参数]

    常用参数:

    -s显示指定信息
    -v显示版本信息
    -g收集blkid缓存
    -i收集有关i/o限制的信息
    -p低级超级块探测(旁路缓存)

    参考实例

    显示指定设备 UUID:

    [root@jiloc ~]# blkid -s UUID /dev/sda5 

    显示所有设备 LABEL:

    [root@jiloc ~]# blkid -s LABEL 

    以列表方式查看详细信息:

    [root@jiloc ~]# blkid -o list 

    显示所有设备:

    [root@jiloc ~]# blkid -o device 

    显示所有设备文件系统:

    [root@jiloc ~]# blkid -s TYPE 
WeChat
↑