Assuming you're using OpenSSH, you can limit unauthenticated connections with the MaxStartups directive in sshd_config.
If your situation permits, also use "PermitRootLogin no" and specify the users able to use SSH with "AllowUsers user1 user2 usern..."
For Idle Timeout, use the ClientAliveInterval and ClientAliveCountMax directives.
For more details:
Also, it's a good idea to search the forums first before posting questions. A lot of questions have already been asked and answered.