openssh-server,sshd服务

本文介绍了如何配置OpenSSH服务实现远程安全访问,并通过公钥认证提高安全性。此外还详细说明了如何修改配置文件来进一步加强OpenSSH的安全等级。

1.openssh-server

    功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
               ##先设置网络Ethernet-->eth0-->Manuanl-->Add
   
                                             

2.客户端连接方式

    ssh    远程主机用户@远程主机ip
    ssh    远程主机用户@远程主机ip -X                            ##调用远程主机图形工具
    ssh    远程主机用户@远程主机ip   command              ##直接在远程主机运行某条命令
             

3.sshkey加密

    1)生成公钥私钥
          [root@server0 ~]# ssh-keygen ##生成公钥私钥工具
          Generating public/private rsa key pair.
          Enter file in which to save the key (/root/.ssh/id_rsa):[enter]                                       ##加密字符保存文件(建议用默认)
          Created directory '/root/.ssh'.
          Enter passphrase (empty for no passphrase): [enter]                                                 ##密钥密码,必须>4个字符
          Enter same passphrase again: [enter]                                                                         ##确认密码
          Your identification has been saved in /root/.ssh/id_rsa.
          Your public key has been saved in /root/.ssh/id_rsa.pub.
          The key fingerprint is:
          ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
          The key's randomart image is:
          +--[ RSA 2048]----+
          |o                          |
          |E.                        |
          |..                          |
          |. . o                      |
          |.o. * . S                |
          |oo.o o  .               |
          |+ =. . .                  |
          |o. oo.+..               |
          | ..o*.                     |
         +-----------------------+
         [root@server0 ~]# ls /root/.ssh/
         id_rsa id_rsa.pub
         id_rsa                                                                       ##私钥,就是钥匙
         id_rsa.pub                                                                ##公钥,就是锁
        

   2)添加key认证方式
         [root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.0.11
         ssh-copy-id                                                              ##添加key认证方式的工具
         -i                                                                              ##指定加密key文件
         /root/.ssh/id_rsa.pub                                               ##加密key
         root                                                                         ##加密用户为root
         172.25.0.11                                                            ##被加密主机ip
         

   3)分发钥匙给client主机
         [root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/
         

   4)测试
         [root@desktop0 ~]# ssh root@172.25.0.11                            ##通过id_rsa直接连接不需要输入用户密码
         Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
         [root@server0 ~]#
        

3.提升openssh的安全级别

    1.openssh-server配置文件
      /etc/ssh/sshd_config
       
        78 PasswordAuthentication yes|no                       ##是否开启用户密码认证,yes为支持no为关闭
        
       
        48 PermitRootLogin yes|no                                   ##是否允许超级用户登陆
       
       
        49 AllowUsers student westos                              ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
        
        
        50 DenyUsers westos                                           ##用户黑名单
       
       
### 如何在对应系统中下载和安装 OpenSSH-Server 服务 #### CentOS 系统中的安装过程 在 CentOS 中,可以通过 `yum` 命令来查找并安装 OpenSSH-Server 软件包。以下是具体操作: 1. **搜索软件包** 使用命令 `$ yum search ssh` 来查看是否有可用的 SSH 服务器包[^1]。 2. **安装 OpenSSH-Server** 如果找到对应的包,则可以执行以下命令完成安装: ```bash sudo yum install openssh-server ``` 3. **启动服务** 安装完成后,需要手动启动 SSH 服务,并设置开机自启: ```bash sudo systemctl start sshd sudo systemctl enable sshd ``` --- #### Ubuntu 系统中的安装过程 对于 Ubuntu 系统,尤其是基于 Debian 的发行版,推荐通过 APT 包管理器进行安装。以下是具体的步骤: 1. **验证当前状态** 可以运行以下命令检查是否已安装 OpenSSH-Server 和其依赖项: ```bash dpkg -l | grep ssh ``` 输出结果可能类似于以下内容(如果未完全安装则会缺少某些条目)[^2]: ``` i libssh-4:amd64 ... ii openssh-client ... ii openssh-server ... ``` 2. **卸载旧版本(如有必要)** 若之前存在不兼容或损坏的安装文件,建议先清理环境: ```bash sudo apt-get remove openssh-server ``` 3. **更新源列表** 更新本地缓存以获取最新的软件包信息: ```bash sudo apt update ``` 4. **正式安装** 执行以下命令安装 OpenSSH-Server 及其所需组件: ```bash sudo apt-get install openssh-server ``` 5. **处理依赖冲突** 如果遇到类似 “openssh-server 报错依赖 openssh-client” 的情况,这通常是因为系统自带的客户端版本与目标服务器版本不符。此时需确保两者一致,可通过强制指定版本号的方式解决此问题[^4]: ```bash sudo apt-get install openssh-server=1:8.2p1-4 openssh-client=1:8.2p1-4 ``` 6. **重启服务** 成功安装后,重新加载 SSH 配置以生效更改: ```bash sudo service ssh --full-restart ``` 7. **启用自动启动** 设置 SSH 服务随操作系统引导而激活: ```bash sudo systemctl enable ssh ``` --- #### 注意事项 - 在任何情况下都应确认防火墙允许必要的端口通信,默认为 TCP/22。 - 对于安全性较高的场景,请修改默认端口号、禁用密码登录以及仅限密钥认证等方式加强防护措施。 ```python # 示例 Python 脚本用于测试连接功能 import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: client.connect('hostname', username='username', password='password') except Exception as e: print(f'Connection failed with error {e}') finally: client.close() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值