ssh配置证书认证登录
必要的知识
什么是SSH:
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。当主机中开启openssh服务,那么就对外开放了远程连接的接口,ssh为openssh服务的客户端,sshd为openssh服务的服务端。
操作方法:
1.首先修改/etc/ssh/sshd_config,去掉下面两行的注释
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
2.生成密钥
有两个方式,一个是在服务端生成,另一个是在客户端生成。
服务端生成需要拷出私钥
客户端也可以用xshell等客户端软件生成密钥。
ssh-keygen -t rsa -C "注释" 使用ssh-keygen生成密钥
生成后的文件为以下两个,在/root/.ssh/目录中,无后缀的为私钥(RSA PRIVATE KEY),pub为公钥,是要写入/root/.ssh/authorized_keys后使用的
id_rsa id_rsa.pub
cat /root/.ssh/id_rsa >> /root/.ssh/authorized_keys
从本地客户端复制到服务器,通过以下命令
cat >> /root/.ssh/authorized_keys <<EOF
>ssh-rsa AAA.... # 这里粘贴id_rsa.pub的所有内容
>EOF #输入eof后结束