How is the key shared in symmetric key cryptography? Symmetric key cryptography is an encryption system in which the sender and receiver of a message share a single, common key that is used to encrypt and decrypt the message.

Is the key public or it is secret? How can the sender and the receiver both know the key?
Handing keys, in general, is known as key management.

Symmetric keys should be kept secret from other parties than the participants in the scheme. The term "secret key" is often used as a synonym for the symmetric key. The private keys for asymmetric schemes are not shared, but are of course also kept secret, as privacy implies secrecy. 

The establishment of symmetric keys between parties can be performed in several ways:


(Authenticated) Key Agreement (KA)
Sending of an (authenticated) encrypted key, also known as key wrapping
Derivation from a base key using a Key Derivation Function (KDF), using other data as input, for instance, a unique number. If the derivation is performed so the resulting keys can be used in different schemes it is often called key diversification. If keys are derived in an iteration we talk about a key ratchet.
Any kind of "out of band" procedure (after random key generation),


by a previous telephone call
sending a letter
meeting in a pub (handing over a USB stick or other data carrier)

Creating a key from key parts held by different persons (key sharing schemes)
Quantum key distribution


There are other methods for establishing symmetric keys, but these are some of the most commonly used ones. The security of these schemes depends of course on the implementation.