Linux SSH远程管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux SSH远程管理相关的知识,希望对你有一定的参考价值。

SSH (Secure Shell)是一种安全通道协议,主要用来实现字符界面远程复制等功能。SSH协议对通信双方的数据传输进行加密处理其中包括用户登陆输入口令。与早期的telnet(远程登陆)丶rsh远程执行程序rc远程文件复制 等应用相比SSH协议提供了更加好的安全性
  1. SSH在CentOS6.5 系统中OpenSSH默认安装
  2. SSH服务使用默认端口22
  3. sshd服务默认允许root用户登陆(这样做非常不安全可以先用普通用户远程登陆进入安全shell环境后更具实际使用su命令切换root用户
  4. sshdf服务的用户登陆限制,通常禁止root用户或者密码为空的用户登陆,可以限制登陆验证时间(默认为2分钟)
    在Linux中wheel组就类似于一个管理员的组。

    通常在LUNIX下,即使我们有系统管理员root的权限,也不推荐用root用户登录。一般情况下用普通用户
    登录就可以了,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root
    的密码,就都可以通过su命令来登录为root用户--这无疑为系统带来了安全隐患。所以,将普通用户加入
    到wheel组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的配置文件进行配置,
    这个管理员组内的用户与普通用户也没什么区别--就像警察下班后,没有带枪、穿这便衣和普通人(用户)
    一样,虽然他的的确确是警察。

    登陆验证
    1. 密码验证:以服务器中本地系统用户的登陆名称,密码进行验证。这种使用方式最为简便,从客户机角度来看正在链接的服务器有肯能被假冒,从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御力比较弱。
    2. 密钥对验证:通常在客户机中创建一对密钥文件(公钥,私钥)然后将公钥文件放到服务器中指定位置远程登陆,系统叫使用公钥,私钥进行加密/解密验证关联验证。大大增强了远程管理安全性。
    公钥和私钥是成对生成的,这两个密钥互不相同,可以相互加密/解密。
    不能根据一个密钥来推算出另一个密钥
    公钥对位公开,私钥只有私钥持有人才知道
    实验目标:两个Linux可以互相读取,上传,下载密码验证,密钥对验证
    [email protected] SSH服务的 [email protected] 为客户端
    vim /etc/ssh/sshd_config SSH配置文件
    Port 22 监听端口为22
    AddressFamily any 监听地址为任意网段
    PermitRootLogin yes 更为no 开启不让管理员进行登陆
    AllowUsers 添加用户 白名单
    [[email protected] ~]# useradd zhangsan 创建张三
    [[email protected] ~]# useradd lisi 创建张三密码
    passwd 设置张三李四密码
    [[email protected] ~]# service sshd restart 重启启动服务
    [[email protected] ~==]# ssh [email protected] 登陆Linux1 张三登陆
    [[email protected] ~]$ su root
    密码:[[email protected] zhangsan] 这就从普通用户切换root用户上走了个迂回路线

    [[email protected] ~]# gpasswd -a zhangsan wheel 张三添加到whee组中只能张三可以切换到root用户而李四不能

    [[email protected] ~]# vim /etc/pam.d/su

    auth 开启whee 认证

    vim /etc/ssh/sshd_config 开启密钥验证

    PubkeyAuthentication yes //启动密码验证//

AuthorizedKeysFile .ssh/authorized_keys //指定公钥数据指定文件//

[[email protected] ~]# passwd wangwu 在客户机上创建王五并且绑定服务器上的张三,每次登陆的时候从王五切换到张三进行登陆
[[email protected] ~]# passwd wangwu

通过ssh-keygen工具为当前用户创建密钥对文件,ssh-keygen命令的-t 选项用于指定算法类型

[[email protected] root]$ ssh-keygen -t rsa

Enter file in which to save the key (/home/wangwu/.ssh/id_rsa): 问存放位置这里默认回车
Enter passphrase (empty for no passphrase): 密钥密码

Enter same passphrase again: 确认密码

会生成一个+--[ RSA 2048]----+
技术分享图片

[[email protected] root]$ cd /home/wangwu/.ssh/
[[email protected] .ssh]$ ls

id_rsa密钥私钥 id_rsa.pub 公钥

[[email protected] .ssh]$ ssh-copy-id -i id_rsa.pub [email protected] 指公钥通过张三上传

[email protected]‘s password: 张三登陆密码
技术分享图片

//在客户机上设置ssh 代理功能 不需要设置密码就能访问//

技术分享图片

以上是关于Linux SSH远程管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux环境下实现SSH远程管理

linux下如何使用ssh远程登录主机 执行shell脚本?

Linux SSH远程管理

Linux——远程访问及控制(SSH远程管理与配置)

ssh远程登录linux后如何打开远端桌面

使用SSH服务远程登录Linux主机