Linux 服务_SSH

Linux 服务_SSH

介绍

  • ssh 是一种用于安全远程登录和其他网络服务的协议。它是目前在 Linux 和类 Unix 系统中远程管理最常用的方式。通过 ssh,可以加密地连接到远程主机,执行命令、传输文件、进行端口转发等操作。

开启服务

  1. 命令

    systemctl start ssh
    
  2. 验证,系统开启 22 端口证明 ssh 服务启动

    image-20250529201207947

配置文件

/etc/ssh/sshd_config

开启开机自启

  • systemctl enable ssh
    

windows 连接 kali Linux

  • 命令(打开 Windows 的 cmd 终端)
ssh 用户名@kali的IP地址		#第一次连接需要主动输入 yes,往后不再需要。
exit		#退出连接

image-20250529202141931

centos 连接 kali Linux

  • 同 windows 连接 kali Linux 相同。

第三方 ssh 客户端连接 kali Linux

  • 原理相同,在对应位置输入主机 IP、用户、密码等即可连接。

  • 一些软件列表

    名称平台特点说明
    WindTermWindows/Linux/macOS高性能终端模拟器,支持 SSH、Telnet、串口、SFTP,UI 现代、启动速度快
    PuTTYWindows/Linux经典老牌,轻量级,支持 SSH/Telnet/Serial
    OpenSSH全平台官方标准工具,Linux/macOS 默认自带,Windows 10+ 也可启用
    Termius (Free)全平台现代化界面、跨平台同步(免费版功能有限)
    XshellWindows免费用于个人,商业用途需授权,功能全面

无密码,公钥登陆

  1. 功能:在 Linux 系统中配置 无密码 ssh 公钥登录,可以让不输入密码的情况下远程登录服务器,是一种更安全、自动化程度更高的方式。

  2. 原理:

    • 首先生成密钥对(遵循非对称加密算法(如 RSA、ED25519 等)),公钥可以公开,私钥必须保密。
    • 公钥置于服务器,私钥在本地。
    • SSH 客户端 向远程服务器发起连接请求。
    • 远程服务器检测到该用户的 ~/.ssh/authorized_keys 中存在公钥。
    • 服务器从该公钥中提取加密信息,向客户端发出一个 加密挑战(challenge)。
    • 本地 ssh 客户端 使用私钥对该挑战进行解密或签名(证明自己持有正确的私钥)。
    • 服务器验证签名是否与公钥匹配。
    • 如果匹配,则认证通过,允许登录;否则拒绝。
  3. 生成密钥

    ssh-keygen -t rsa		#用 rsa 生成密钥对
    

    image-20250529204940795

  4. 公钥位置

    • 将公钥保存到 /root/.ssh/authorized_keys
    cat /home/kali/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
    
  5. 私钥传输

    • 切换目录到文件 id_rsa 所在的目录。

    • 通过 python -m http.server 命令,在当前目录开启 8000 端口用于其他客户端对文件的下载。

      image-20250529205949266

    • 在客户端上执行命令下载私钥。

      wget http://kali的IP地址:8000/id_rsa
      

      image-20250529210327758

    • 修改私钥权限登陆

      image-20250529210603835

      • 如上图所示,表明私钥权限不对,无法无密码登陆,需要修改私钥权限。

        chmod 600 id_rsa
        

        image-20250529211057796

      • 修改私钥权限为 600 即可成功实现无密码登陆。

Windows cmd 无密钥登陆

  • 同样可以通过在服务端的 python -m http.server 命令进行私钥的传输。

  • 开启服务后,直接在 Windows 上的浏览器下载(http://服务端IP地址:8000/id_rsa)即可。

  • 下载后登陆发现同样会显示 bad permissions,表面私钥权限不正确,需修改。

    • 在 Windows 修改私钥权限步骤:

      • 右键私钥文件的 属性 进入属性选项栏。
      • 单击 安全,进入后单击 高级 进入高级安全设置界面。
      • 单机 禁用继承,并在弹出的复选框中选择“从此对象中删除所有已继承的权限”。
        image-20250530183338477
      • 随后单机 添加,在弹出的权限项目框中单击 选择主体 添加对象。
      • 添加的对象可以通过在 cmd 中使用 whoami 命令查询,添加成功后单机 检查名称(若成功,则名称下方会出现一条横线)。
        image-20250530184220435
      • 最后一路确定即可修改完成。
  • 此时再次尝试在 cmd 中无密钥登陆即可成功。

    image-20250530184440478

第三方 ssh 客户端无密钥登陆

  • 新建会话。
  • 在输入密码的复选框中选择修改好权限的密钥文件即可(各个第三方 ssh 客户端原理大体相同)。
    image-20250530185143288
  • 此时即可实现无密钥登陆。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇