千家信息网

linux redhat6.5 构建SSH服务及SSH构建密钥对验证

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH
千家信息网最后更新 2024年11月23日linux redhat6.5 构建SSH服务及SSH构建密钥对验证

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)
SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。SSH只是一种协议 ,它是自由软件,应用非常广泛。

准备两台linux虚拟机:服务器:192.168.100.101客户机:192.168.100.1021:客户机    #ssh root@192.168.100.101    //在linux远程访问192.168.100.101     sshd服务是默认允许root用户登录的  但这是非常不安全的    普遍的做法是:先登录普通用户 根据实际需求使用su 切换root用户

2:服务器下面设置  禁止root用户登录vim /etc/ssh/sshd_config       //(ssh主配置文件) PermitRootLogin no      // 拒绝root 用户登录  Allowusers zzz zkc   //只允许zzz  zkc 用户登录 service sshd restart    //重启服务


3:服务器创建一个用户zzz   (我系统里有个zkc用户了) 但此时zzz  zkc  用户 都能使用su  切换到root用户  所以不是很安全所以下面配置 : 禁止普通用户切换root用户  只给zzz 用户切换root 的权限#gpasswd -a zzz wheel     //将zzz 加入wheel #vi /etc/pam.d/su          //认证配置 auth required pam_wheel.so use_uid   //去掉此行开头的  # 号

4:到客户机 上测试下                                                  成功    ssh @root192.168.100.101   无法登录    ssh @zkc192.168.100.101  可以登录  无法切换root    ssh @zzz192.168.100.101 可以登录 可以切换

5:切换到ssh服务器上         配置SSH密钥    #vi /etc/ssh/sshd_config     //编辑sshd_config    PubkeyAuthentication yes    //启用密钥对验证    AuthorizedKeysFile    .ssh/authorized_keys   //指定公钥数据文件    service sshd restart  //重启sshd服务


6:回到客户机上     useradd benent   //创建用户benet     passwd benet       //设置benet用户密码     su - benet     //切换用户到benet    ssh-keygen -t rsa //创建密钥对    (设置私钥短语  确认私钥短语)    ls -a /home/benet/.ssh  // 查看私钥位置(密钥文件为隐藏文件 用 -a)    cd /home/benet/.ssh   //到私钥存放目录

7:ssh-copy-id -i id_rsa.pub zhangsan@192.168.100.101 //将公钥上传到服务器 (   公钥在服务器的 /home/zzz/.ssh 下面)ssh zzz@192.168.100.101   //使用ssh登录服务器上的zzz 用户 (此时只要输入私钥短语就能登录了)//在客户机上设置ssh 代理功能 不需要设置密码就能访问//ssh-agent bash ssh-add   

0