Setting the default ssh key location

2019-01-30 14:07发布

ssh will look for its keys by default in the ~/.ssh folder. I want to force it to always look in another location.

The workaround I'm using is to add the keys from the non-standard location to the agent:

ssh-agent
ssh-add /path/to/where/keys/really/are/id_rsa 

(on Linux and MingW32 shell on Windows)

标签: ssh
3条回答
2楼-- · 2019-01-30 14:11

If you are only looking to point to a different location for you identity file, the you can modify your ~/.ssh/config file with the following entry:

IdentityFile ~/.foo/identity

man ssh_config to find other config options.

查看更多
太酷不给撩
3楼-- · 2019-01-30 14:26

The location of the file is /root/.ssh directory with the name "authorized_keys", usually it is hidden for the security reasons. * if you use the puTTy and command line, use: #cd ~/.ssh and then edit the "authorized_keys" file with vi editor. Also refer, type #man ssh_config will provide more options (if necessary) Hope this helps.

查看更多
对你真心纯属浪费
4楼-- · 2019-01-30 14:31

man ssh gives me this options would could be useful.

-i identity_file Selects a file from which the identity (private key) for RSA or DSA authentication is read. The default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro- tocol version 2. Identity files may also be specified on a per- host basis in the configuration file. It is possible to have multiple -i options (and multiple identities specified in config- uration files).

So you could create an alias in your bash config with something like

alias ssh="ssh -i /path/to/private_key"

I haven't looked into a ssh configuration file, but like the -i option this too could be aliased

-F configfile Specifies an alternative per-user configuration file. If a con- figuration file is given on the command line, the system-wide configuration file (/etc/ssh/ssh_config) will be ignored. The default for the per-user configuration file is ~/.ssh/config.

查看更多
登录 后发表回答