How to 'skin' an edge?
The Skin modifier is exactly what you need here - although by itself it will only produce a 'cuboid' skin as shown :



Here I've simply created an 'edge' (by merging all vertices of a Cube to a single vertex (using Alt-M) and selecting to merge 'At Center') and then extruding E to form a new vertex and a joining edge - all in Edit mode (Tab)). Then in Edit mode I selected each vertex in turn and used Ctrl-H to 'Hook to New Object'. This creates an Empty at each end of the mesh. I then added the Skin modifier.

Moving the empties moves the respective end of the 'edge' along with the surrounding skin. Note that the sequence of the modifiers in the modifier stack (the list of modifiers) show to the right of the above image) is important - the Hook modifiers must be above the Skin modifier as they must take place before the skin is added. Moving them to after the Skin will result in the vertices being moved while leaving the skin behind.

To turn this into a "cylinder" (with rounded ends) you can further add a Subsurf modifier.



For smooth shading you can enable the 'Smooth Shading' option in the Skin modifier.

Again, the order is important and should be Hook, Hook, Skin, Subsurf. Move the empties and the skin will follow.

This is working as expected for me. If your experience is different to this then please update your question and I can try and answer further.