目前,在linux上实现免登陆,主要有以下2种方式:
不管是那种方式,首先要产生私钥和公钥:id_rsa
和 id_rsa.pub
ssh-keygen -t rsa -C "test@sample.com"
一路回车,不用输入任何东西,最后在 ~/.ssh/
目录下生产处id_rsa
和 id_rsa.pub
文件.
- 配置文件
另外, 在ssh服务器端,修改文件 /etc/ssh/sshd_config
:
PermitRootLogin yes
PubkeyAuthentication yes
然后重启 sshd 服务。
免登录方式
ssh-copy-id 命令
ssh-copy-id -i id_rsa.pub test@192.168.46.136
或者
ssh-copy-id -i id_rsa.pub root@192.168.46.136
命令执行后,客户端会将公钥文件发送到服务端,并保存为 ~/.ssh/authorized_keys
ssh 'root@192.168.46.136' 就可以实现免登陆
- 利用 authorized_keys 和 config 文件
config
文件
Host 192.168.46.134
Hostname 192.168.46.134
Port 22
User root
PreferredAuthentications publickey
IdentityFile "/home/test/.ssh/id_rsa"
- 把公钥文件拷贝到服务端 authorized_keys 文件中。
这样也能实现免登陆的效果。
版权归原作者 firefox891 所有, 如有侵权,请联系我们删除。