[How to solve] Could not load host key: /etc/ssh/ssh_host_rsa_key issue in FreeBSD or Linux

[How to solve] Could not load host key: /etc/ssh/ssh_host_rsa_key issue in FreeBSD or Linux

Sometimes while starting the sshd service you may face some issues like the following:

Could not load host key: /etc/ssh/ssh_host_key
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available — exiting.

Usually these security keys should have been created during the installation itself but if in the sshd configuration file it is not mentioned to create them automatically then you will definitely miss the keys and without these keys your sshd will not start. Well in such case either you set the corresponding sshd configuration file and restart your system or you can manually generate the keys.
Personally I would suggest you to create these keys manually because finding the sshd configuration file is another overhead task because different systems have their sshd configuration files at different places.

How to manually create the keys for the Could not load host key: /etc/ssh/ssh_host_rsa_key issue:

ssh-keygen -A


ssh-keygen -b 1024 -t rsa -f /etc/ssh/ssh_host_key
ssh-keygen -b 1024 -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -b 1024 -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -b 1024 -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key

The first command will automatically generate all the required keys.
But the second command will be helpful if you want to create only one of those keys and not all. But I really do not see any difference of using the second step because the ssh-keygen -A will take care of creating the ssh keys for which there is no key has been generated yet.
In the second command the -b 1024 option specifies the key will be of 1024 bit length.
And the -t option specifies the type of key: either rsa, dsa or ecdsa.


Sometimes the ssh is not at all installed on your system or you missed out to enable the ssh package while installing the OS. How you will come to know if ssh is installed or not?? just type ssh in your command prompt and to surprise you will see that command is not found or similar text.
Well, in such case you just see how to install a package in your system. For example:
In ubuntu: sudo apt-get install openssh-server will work
In freebsd: pkg install ssh or pkg install openssh will work.

Well I think this will mostly help you out to solve Could not load host key: /etc/ssh/ssh_host_rsa_key issue. If not then comment in the comment box and I will surely help you out.

Previous How to Unload or Blacklist Module in Linux
Next [FreeBSD] How to allow Root access on FreeBSD over ssh protocol

About author

You might also like

Linux Topics 0 Comments

How To Use Telnet In Linux/Unix?

Telnet basically stands for “teletype network”. It is an old network protocol that works on the application layer of the OSI model. It connects to a remote system using the

Uncategorized 0 Comments

File Ownership And Permissions In Linux/Unix

Linux and Unix are multi-user operating systems that means different users can access the operating system at a time and can use system resources simultaneously. So the files created by

Linux Topics 0 Comments

How to Learn Linux Without Having a Linux Machine?

Wondering how to learn Linux without having a Linux PC with you?? Is it really possible or you’re just kidding me?? Trust me it’s all possible and you just need


No Comments Yet!

You can be first to comment this post!

Leave a Reply