Add a bone at each vertex location?
Manual Selection and Creation

Select mesh object, go into edit mode. Tab
Select vertex.
Snap cursor to vertex. Shift+S, Cursor to Selected
Go into object mode and select the armature object.
Go into edit mode and create a bone (at the cursor's position). Shift+A
Repeat for all vertices.

Use a python script
I created a script for you, which does what you intend.
import bpy
from mathutils import Vector

def AddBonesAtVertices(length, use_normals):
    objects = bpy.context.view_layer.objects
    obj = objects.active
    if not obj or obj.type != 'MESH':
        return

    points = []
    normals = []
    data = []
    for v in obj.data.vertices:
        p = obj.matrix_world @ v.co
        target = v.normal @ obj.matrix_world
        dir = target - p
        dir.normalize()
        dir = dir * length
        n = p + dir * (-1)
        points.append(p)
        if not use_normals:
            n = Vector((p[0], p[1], p[2] + length))
        normals.append(n)
        data.append([p, n])

    amt = bpy.data.armatures.new(obj.name + &quot;_vBones&quot;)
    rig = bpy.data.objects.new(obj.name + '_vRig', amt)
    
    bpy.context.collection.objects.link(rig)
    objects.active = rig

    bpy.ops.object.editmode_toggle()
    for i, l in enumerate(zip(points, normals)):        
        bone = amt.edit_bones.new(str(i))
        bone.head = l[0]
        bone.tail = l[1]
    bpy.ops.object.editmode_toggle()



bpy.ops.object.mode_set(mode='OBJECT')
AddBonesAtVertices(0.5, False)

Paste the script into the text editor, selected the mesh object and run the script.