Linux-SSH远程登陆

SSH是什么

  1. Secure Shell 安全外壳协议
  2. 建立在应用层基础上的安全协议
  3. 可靠、转为远程登陆会话和其他网络提供安全性的协议
  4. SSH客户端是用于多种平台

服务器安装SSH服务

  1. 安装:yum install openssh-server
  2. 启动:service sshd start
  3. 设置开启运行:chkonfig sshd on
  4. 查看进程是否存在:ps -ef |grep ssh

客户端安装SSH工具

  1. win平台使用xshell
  2. Linux平台需要安装客户端软件:yum install openssh-clients

客户端链接SSH服务

  1. 在win,打开xshell,新建一个会话:ssh root@192.168.2.20,输入密码就可以了进来了
  2. 在Linux,还是:ssh root@192.168.2.20

SSH config

  1. config为了方便我们管理多个ssh
  2. config存放的路径:~/.ssh/config
  3. config配置语法
  4. 关键字:
Host 别名
HostName 主机名
Port 端口
User 用户名
IdentityFile 密钥文件的路径
  1. 具体的操作

    • 首先使用ssh root@192.168.2.20登陆,然后cd ~/.ssh/
    • 此时会发现没有这个config这个文件
    • 创建一个config文件:touch config
    • vim config进入这个文件,输入i,进入编辑模式,如图,然后按esc,输入:wq保存退出

    config

    • 此时输入:ssh imooc 就可以快速链接了,当然了,在配置文件中可以输入不同的别名,这样多的话就方便管理了

SSH安全免密码登陆:ssh key

  1. ssh key使用非对称加密方式生成公钥和私钥

  2. 私钥存放的位置在本地 ~/.ssh目录

  3. 公钥可以对外公开放,放在服务器的~/.ssh/authorized_keys

  4. Linux平台生成ssh key

    • ssh-keygen -t rsa
  5. Win

    • 在xshell中,工具--新建用户密码生成向导--下一步
    • 到输入密钥名称这个得记住imocc_linux,然后下面的密码可以输入也可以不输入
    • 另存为文件就可以
    • 然后需要把生成的这个的公钥放到服务器上,进入 cd ~/.ssh/
    • 发现没有那个文件,这个时候新建一个 touch authorized_keys文件
    • 用vim打开,把生成的公钥复制进来就可以了,然后保存退出
    • 这个时候在xshell中新建一个会话就可以免密码登陆了,如图:

      Win

  6. Linux

    • 首先cd ~/.ssh/

    • 开始生成ssh-keygen -t rsa,此时输入文件的名字,imooc_rsa,这个得记住,然后下面的密码可以输入也可以不输入

    • 此时ls查看一下就可以看到,如图:

      Linux

    • 此时用cat imooc_rsa.pub看到公钥,把这个复制下来

    • 还是放入到touch authorized_keys文件中,此时这个文件中已经有连个公钥了

    • 然后把私钥加入到本地空间中ssh-add ~/.ssh/imooc_rsa

SSH安全端口

  1. 如何改变SSH服务端口,修改/etc/ssh/sshd_config配置就可以了

  2. 修改Port对应的值就可以了,如图:

    修改端口

  3. 服务重启:service sshd restart

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...