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保存退出

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

    • 此时用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-SSH远程登陆的更多相关文章

  1. linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径 网络上好多解决办法,大多是新建.bash_profile文件然后输入XXXXX....然而并没有什么用没有用.... ...

  2. Linux服务器开启ssh服务,实现ssh远程登陆!

    最近在学linux,使用ssh远程登陆linux,记录下来! 首先进入/etc目录下,/etc目录存放的是一些配置文件,比如passwd等配置文件,要想使用ssh远程登陆,需要配置/etc/ssh/s ...

  3. linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法,ssh-bash-4.1

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径 网络上好多解决办法,大多是新建.bash_profile文件然后输入XXXXX....然而并没有什么用没有用.... ...

  4. CentOS6无法本地登陆,ssh远程登陆没问题

    CentOS6无法本地登陆,ssh远程登陆没问题---使用CentOS自带的rsyslog分析调试 Apr 21 14:15:27 raccontroller init: tty (/dev/tty1 ...

  5. SSH 远程登陆

    2019-03-10 20:41:39 一.什么是SSH 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...

  6. 很好用的取代 PuTTY 的SSH远程登陆软件 Termius

    一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. putty-connections-on-a-screen 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUT ...

  7. 在linux终端远程登陆linux服务器

    在linux终端远程登陆linux服务器   原来在Linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc(也可以是root),只需要在终端输入: 然后电脑会提示输入密码就登录 ...

  8. 如何通过linux ssh远程linux不用输入密码登入

    如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入.提高远程效率,不用记忆各台服务器的密码. 工具/原料   ssh,ssh-keygen,scp 方法/步骤   首 ...

  9. 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名

    写在前面: 刚刚开始写博客,记录下自己的学习过程,备忘. 最近在使用树莓派做智能小车的开发,使用的是树莓派3b+,安装的是Ubuntu 16.04 MATA 系统,安装系统后需要修改主机名,登陆密码以 ...

  10. Linux SSH远程文件/目录 传输

    Linux SSH远程文件/目录传输命令scp 2010年08月6日 上午 | 作者:VPS侦探 相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已 ...

随机推荐

  1. Spring Boot 整合 Hibernate5

    Run java -jar -Dspring.profiles.active=dev sport.web.services.jar Maven <parent> <groupId&g ...

  2. Hive 基本语法操练(六):Hive 的权限控制

    Hive 的权限控制 Hive从0.10可以通过元数据控制权限.但是Hive的权限控制并不是完全安全的.基本的授权方案的目的是防止用户不小心做了不合适的事情. 为了使用Hive的授权机制,有两个参数必 ...

  3. pat1049. Counting Ones (30)

    1049. Counting Ones (30) 时间限制 10 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The task ...

  4. JavaFX--第2天-窗口基本的类

    1 内部匿名类和Lambda表达式 2 Switching Scene 3 信息提示框 (Alert Boxes) 前情回顾: 前面的学习内容:关于JavaFX的基本概念,以及窗口所使用的类的一个介绍 ...

  5. spring boot 基础 多环境配置

    对于多环境的配置,各种项目构建工具的思路基本上一致,都是通过配置多份不同环境的配置文件来区分. 1. 首先我们先创建不同环境下的属性文件,截图如下: application.properties  是 ...

  6. 会话跟踪之Cookie

    一:简介 Cookie主要用来存储用户信息,追踪用户会话.web客户端访问服务端直接采用的协议是Http,Http协议是一种无状态协议,无状态表现在不能够保留用户访问状态,无法记录用户信息.每一次的请 ...

  7. [转]git修改远程仓库地址

    原文链接:http://www.cnblogs.com/lazb/articles/5597878.html 问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库 ...

  8. iOS - 毛玻璃动画效果

    声明全局变量 #define kMainBoundsHeight ([UIScreen mainScreen].bounds).size.height //屏幕的高度 #define kMainBou ...

  9. echo -e的用法

    root@bt:~# echo -e "HEAD /HTTP/1.0\n\n"HEAD /HTTP/1.0 root@bt:~# echo -e "HEAD /HTTP/ ...

  10. ubuntu16.04解决屏幕适应问题

    打开ubuntu登录进去后,输入: sudo  apt-get installopen-vm-tools sudo apt-get install open-vm* 然后重启(reboot),即可解决 ...