我需要在两台服务器之间设置ssh会话,并且不希望每次都让脚本填写用户名和密码.
但是我似乎无法找到SSH服务器使用其配置的位置.
bash-2.05# ssh -V Sun_SSH_1.1,SSH protocols 1.5/2.0,OpenSSL 0x0090700f
我在/ etc / ssh /和〜/ .ssh /中都有证书文件文件.我只能找到一个用于SSH的配置文件,它位于/ etc / ssh / ssh_config中,但它不包含任何数据(所有内容都已注释掉).
有谁知道如何找出证书的存储位置,或者我如何导出它以便将其传输到其他服务器?我希望配置文件能给我答案,但它们几乎没有帮助.
解决方法
假设您的意思是“证书”在用户级别进行公钥验证,并且您使用ssh-keygen和默认位置创建它们,它们应该位于您的ssh-client将找到它们的位置.密钥由私有部分组成,通常存储在〜/ .ssh / id_rsa中,公共部分存在于〜/ .ssh / id_rsa.pub中.最后一个必须转移到远程服务器,通常转移到〜/ .ssh / authorized_keys.
将密钥传输到另一台服务器的最简单方法是在目标机器上使用ssh-copy-id.如果您在创建时使用了默认位置,则会自动使用此键.
请注意,/ etc / ssh / ssh_config适用于客户端.在服务器上,您将不得不查看/ etc / ssh / sshd_config.在您的设置中,两个服务器都将同时用作ssh-client和ssh-server,因此您必须同时查看两端的两个文件.