密钥认证方式登录到Linux/Unix
Xshell密钥登录Linux
前言
SSH登录支持两种认证方式:口令(密码)认证方式和密钥认证方式。口令认证方式是最常用的一种,这里介绍密钥认证方式如何登录到Linux/Unix系统。
生成密钥
密钥包含公钥和私钥,是成对的。通过Xshell的新建用户密钥生成向导
菜单,生成密钥,默认密钥类型和长度即可。
用户密钥信息,可以修改密钥名称,同时可以给密钥设置密码进行加密。
打开用户密钥管理者
,点击属性
可以导出公钥,点击导出
可以导出私钥。
Linux添加公钥
通过口令方式登录服务器,cd ~
进入用户目录下,mkdir .ssh
新建文件夹,chmod -R 700 .ssh
确保只有所有者可读可写否则无法登录,或者在.ssh
目录下执行chmod 600 *
。
运行rz
命令(通过yum install lrzsz
安装),将key.pub
发送到服务器,然后运行cat id_rsa_2048_lideyu.pub >> authorized_keys
命令,将公钥(Public Key)导入到authorized_keys
文件。
通过vim authorized_keys
给密钥添加备注。
Xshell配置密钥认证方式登录
新建会话,输入Ip地址。
切换到用户身份验证,方法选择Public Key
,用户名选择上一步在哪个用户的.ssh
文件添加的公钥,用户密钥选择第一步创建的私钥,如果私钥有设置密码,还需要输入私钥密码,最后点击连接即可。
Linux关闭口令登录
# 打开配置文件
vim /etc/ssh/sshd_config
# 关闭密码登录
PasswordAuthentication no
# 重启ssh
systemctl restart sshd
Linux普通用户添加sudo权限
# 当前用户添加写权限
chmod u+w /etc/sudoers
# 修改配置文件
vim /etc/sudoers
# 添加内容,区分是否需要密码
Shenma ALL=(ALL) ALL
Kjb ALL=(ALL) NOPASSWD: ALL