If it is a beam element (6 dof per node), one can apply a moment on the end node.
The same goes for shell element since they also have rotational dof (degrees of freedom).
For a brick mesh (3d mesh), one needs to use ideally something called constraints, since rotational dof do not exist in their formulation (3 translational dof).
For SHS or a CHS, the point of load application is many times on the centreline of the section, thus there is no node there. In Strand7, which is the software I use, one can use a rigid link cluster/spider, or a multi-point link cluster, to obtain a node on the centre line where we can apply the load onto.
Very often these two are what is called RBE constraints (Nastran name), and are more specifically RBE2 and RBE3 respectively in Nastran (often used like explained here for remote load application). These two translate as kinematic (RBE2/rigid link) and distributed (RBE3/multi-point) coupling in Abaqus. The first one adds a lot of stiffness to the cross section (at the load application point), while the second does not (it distributes the loads onto the cross section). For more information see the manual.