常用命令

  1. 查看端口状态
    netstat
      -t : 指明显示TCP端口
      -u : 指明显示UDP端口
      -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
      -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
      -n : 不进行DNS轮询,显示IP(可以加速操作)
    netstat -lanp 查看一台服务器上面哪些服务及端口
    netstat -ntlp //查看当前所有tcp端口

  2. ssh-copy-id

  • 用途: ssh免密登录
  • 安装: brew install ssh-copy-id
  • 使用: 免密登录ssh-copy-id username@ip;公钥登录ssh-copy-id -i identify-file username@ip

ansible

  • 用途:配置和自动化工具,可在本机终端配置节点,自动发布配置和部署。ansible无需在节点安装客户端agent,它通过ssh与节点通信,配合ssh-copy-id使用。
  • 安装:brew install ansible
  • 使用:在/etc/ansible/hosts下设置节点;ansible -m command -a "linux cmd" 'nodename',linux cmd是要执行的命令,nodename是在hosts下配置的节点集合名
  1. ssh原理,通过ssh登录远程主机X时,X会把自己的公钥发送给本机,本机输入登录密码时会用这个公钥进行加密,然后把加密的结果传输给X,X用自己的私钥进行解密,如果解出的密码正确,则本次登录成功。由于传输过程中的密码进行了加密,且解密私钥在X上,因此保证了传输过程密码的安全性,但是也会有第三方在中间伪造X的风险。而ssh免密登录的原理是把用户在本机生成的公钥追加到X的.ssh/authorized_keys文件中,在登录时X会把一个随机字符串发给本机,本机用生成的私钥进行加密,将结果传回X,X通过用户追加的公钥进行解密,如果成功,证明用户是可信的。

你可能感兴趣的:(常用命令)