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 [email protected],输入密码就可以了进来了
  2. 在Linux,还是:ssh [email protected]

SSH config

  1. config为了方便我们管理多个ssh
  2. config存放的路径:~/.ssh/config
  3. config配置语法
  4. 关键字:
Host 别名
HostName 主机名
Port 端口
User 用户名
IdentityFile 密钥文件的路径
  1. 具体的操作
    • 首先使用ssh [email protected]登陆,然后cd ~/.ssh/
    • 此时会发现没有这个config这个文件
    • 创建一个config文件:touch config
    • vim config进入这个文件,输入i,进入编辑模式,如图,然后按esc,输入:wq保存退出

    Linux-SSH远程登陆_第1张图片

    • 此时输入: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中新建一个会话就可以免密码登陆了,如图:
      Linux-SSH远程登陆_第2张图片
  6. Linux
    • 首先cd ~/.ssh/
    • 开始生成ssh-keygen -t rsa,此时输入文件的名字,imooc_rsa,这个得记住,然后下面的密码可以输入也可以不输入
    • 此时ls查看一下就可以看到,如图:
      Linux-SSH远程登陆_第3张图片

    • 此时用cat imooc_rsa.pub看到公钥,把这个复制下来
    • 还是放入到touch authorized_keys文件中,此时这个文件中已经有连个公钥了
    • 然后把私钥加入到本地空间中ssh-add ~/.ssh/imooc_rsa

SSH安全端口

  1. 如何改变SSH服务端口,修改/etc/ssh/sshd_config配置就可以了
  2. 修改Port对应的值就可以了,如图:
    Linux-SSH远程登陆_第4张图片

  3. 服务重启:service sshd restart

你可能感兴趣的:(Linux-SSH远程登陆)