在CentOS 7中使用SSH登录
参考
本文参考于利用xshell密钥管理服务器远程登录+VIM dd命令操作之伤之再伤
什么是SSH
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。
在Xshell中启用SSH密钥登录
- 使用菜单栏-工具-新建用户密钥生成向导。
- 密钥类型选择RSA,密钥长度选择2048位,继续。
- 生成公钥对界面后,为该密钥起一个自己理解的名称或保持默认。使用密码为此密钥加密,保证安全。
- 保存生成的公钥,生成密钥完成。
- 将上一步生成的公钥拷贝至用户home目录下的.ssh/authorized_keys。
需要注意的是,权限需要设置为700。
多次检查是否复制完整[wxd@localhost ~]mkdir .ssh [wxd@localhost ~]chmod 700 .ssh/ [wxd@localhost ~]cd .ssh [wxd@localhost .ssh]$ vim authorized_keys 粘贴上一步生成的密钥,保存并退出。 [wxd@localhost .ssh]$ chmod 700 authorized_keys
- 修改文件 /etc/ssh/sshd_config,修改下列两行(将#号去掉)
RSAAuthentication PubkeyAuthentication
- 使用下列命令重新启动sshd服务(需要管理员权限)
systemctl restart sshd
使用SSH登录
- 在Xshell连接上右击,选择属性。点击左侧栏位中的用户身份验证项。方法选择Public Key,填写刚刚添加ssh密钥的用户,在用户密钥栏中选择刚刚创建的密钥。
- 点击确定,保存连接属性。
- 点击连接,使用SSH密钥登录系统。
在其他计算机的Xshell上登录(密钥的导出和导入)
导出
- 使用菜单栏-工具-用户密钥管理者。
- 在需要导出的密钥上点击右侧的导出,保存导出的私钥文件。
妥善保存该私钥文件。如果原公钥没有进行加密,则可能会导致任何用户可以登录
导入
- 使用菜单栏-工具-用户密钥管理者。
- 在需要导出的密钥上点击右侧的导入,选择需要导入的私钥文件。
其他
再三确认公钥是否拷贝完全至authorized_keys文件中
确认authorized_keys文件权限为700
如果依旧无法正常登录,按照下列步骤关闭Linux防火墙(需要管理员权限)
- 永久关闭SElinux
vi /etc/selinux/config #修改SELinux的配置文件 更改“SELINUX=enforcing”为 SELINUX=disabled 保存退出。
- 关闭Linux防火墙
[root@localhost ~]# iptables -F #清空防火墙配置 [root@localhost ~]# /etc/init.d/iptables save #清空防火墙配置后,记得保存