我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。 其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。 将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。 此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。 下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。 把公钥拷贝到需要登录的远程服务器或Linux系统上,这里可以使用ssh-copy-id自动完成,也可以手动追加秘钥到远程服务器。
创建公钥和私钥使用命令: ssh-keygen -t rsa -b 4096 -C “youremail@qq.com”指定密钥类型,默认是 rsa,可以省略。设置注释文字,比如邮箱。 指定密钥文件存储文件名。 然后一直回车搞定对了有个坑如果 win 下没有这个文件夹需要先创建文件夹否则生成不了默认地址为 C:\Users\Administrator.ssh二. linux 上的操作,至于如果登录 linux 等就不详细赘述,一般情况下是 root 账号登录,避免权限不足等问题创建账户 useradd -g groupName userName切换至新的用户 sudo su userName具体操作cd ~ 创建 .ssh 文件夹cd .sshrz -bye #上传公钥cp id_rsa.pub authorized_keys #复制改名chmod 600 * #给这个文件夹权限其实这里就可以用对应的私钥登录了三
SSH 密钥登录 SSH 默认采用密码登录,这种方法有很多缺点,简单的密码不安全,复杂的密码不容易记忆,每次手动输入也很麻烦。密钥登录是更好的解决方案。 密钥登录的过程 SSH 密钥登录分为以下的步骤。 预备步骤,客户端通过ssh-keygen生成自己的公钥和私钥。 第一步,手动将客户端的公钥放入远程服务器的指定位置。 你要以哪个用户的身份登录到服务器,密钥就必须保存在该用户主目录的~/.ssh/authorized_keys文件。只要把公钥添加到这个文件之中,就相当于公钥上传到服务器了。每个公钥占据一行。 $ chmod 644 ~/.ssh/authorized_keys 只要公钥上传到服务器,下次登录时,OpenSSH 就会自动采用密钥登录,不再提示输入密码。 $ ssh-add -l 关闭密码登录 为了安全性,启用密钥登录之后,最好关闭服务器的密码登录。
腾讯云轻量应用服务器 1.镜像安装宝塔Linux面板 2.使用宝塔面板登录 3.面板信息配置 4.软件安装 5.SSH密钥登录 文档中心:https://cloud.tencent.com/document /product/1207/44573 操作步骤 创建密钥 -->绑定实例 6.shell工具登录 我这里用的finallshell 我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https:
我们使用 Linux 服务器不管做网站、项目、服务都需要一个安全性的概念,而默认是使用密码来登录的,普通的项目也就够用了。 不过现在网络上鱼龙混杂,各路黑客无时无刻不在撸服务器,用各种软件扫描网络上的弱口令、端口等,为了提高 Linux 服务器的安全我们有必要在 SSH 登录界面设置密钥,提高破解难度,也就相对提高了服务器安全性 一般我们用 SSH 软件登录服务器的时候都是用 root 账号和密码进行连接,其实这样是不安全的,使用 SSH key 和密码同时登录,这样才不会被轻易破解,也就提高了服务器 SSH 登录安全性。 本文我们介绍 SSH key 密钥登录 Linux 服务器的配置过程,平时多使用 Xshell SSH 登录,相对来说它的操作界面更友好一些。 最后总结: 1、为了提高网站、项目、服务器的安全性可以考虑使用密钥登陆方法,也可以不设置密钥密码,这时候只用密钥就可以登录服务器了(用密码是双重加密,即使别人搞到了密钥也无法登陆)。
生成密钥对 ssh-keygen -t rsa 修改 ssh 配置 # 开启RSA验证 RSAAuthentication yes # 是否使用公钥验证 PubkeyAuthentication yes # 公钥的保存位置 AuthorizedKeysFile .ssh/authorized_keys # 禁止使用密码验证登录 PasswordAuthentication no 复制 ssh 公钥 ssh-copy-id root@192.168.1.10 设置权限 chmod 600 /root/.ssh/authorized_keys chmod 700 /root/.ssh 使用密钥连接其他主机
生成SSH密钥对首先,需要在本地机器上生成SSH密钥对。 将公钥复制到远程服务器将生成的公钥复制到远程服务器的 ~/.ssh/authorized_keys 文件中。 ssh-copy-id 命令ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host手动复制公钥复制公钥内容:cat ~/.ssh/id_rsa.pub 登录到远程服务器 配置SSH服务确保远程服务器上的SSH服务配置允许密钥登录。 测试SSH密钥登录尝试使用SSH密钥登录到远程服务器。测试登录ssh user@remote_host如果一切配置正确,你应该能够无密码登录到远程服务器。5.
使用SSH登录服务器的方式有两种。 第一种是IP、密码登录。 第二种是通过密钥对登录。 这两种方法各有优缺点,使用 IP、密码登录是最常见的方式,但是这种登录方式不安全,假如你没有设置出入站规则、没有在后台设置允许的IP登录,入侵者就很可能会通过不断撞库入侵你的服务器。 密钥对相对来说更安全,因为私钥只有你自己知道,设置了秘钥对服务器就很难被入侵。 > > 表示向文件最后追加 > 表示替覆盖文件内容 6、使用秘钥登录 我这里使用 MobaXterm 终端工具,登录。 把服务器的私钥保存到本地,然后新建连接的时候使用你刚刚保存的私钥。 即可顺利登录: 二、禁用密码登录 既然我们使用了密钥对登录,那么,密码就不需要使用了,为了被第三方侵入者暴力撞库,我们可以禁用密码登录。
下面介绍一下在SecureCRT中使用密钥的方式SSH登录到Linux服务器 先看SecureCRT的官方指导视频 接下来实际操作一下 1、新建一个会话 ? 2、先不进行登录,先编辑会话的选项 将PublicKey移至最上(优先使用公钥认证的方式),然后点Properties ? 9、接下来先采用密码认证的方式登录上服务器 ? 10、rz 或者sftp等各种方式上传Identity.pub公钥文件 ? 12、接下来就可以直接使用公钥的方式登录Linux服务器 ? Tips:可以勾上Trace Options跟踪选项,debug登录会话的详细信息 ? 可以看出是采用公钥认证方式登录到服务器的 ?
背景:通常我们使用winscp通过密码认证去连接服务器进行文件的ftp操作,但是为了安全,我们服务器上经常会禁止使用密码连接,而改用密钥认证。而且服务器上经常会禁止root用户直接登录。 一、使用OpenSSH密钥连接Winscp使用的是putty作为SSH登录工具,而puttygen所生成的是以.ppk结尾的密钥文件,所以你使用xshell生成的密钥会提示添加失败,此时你有两种选择,1 、使用putty重新生成putty格式的密钥,并添加到服务器上。 如下:1、尝试用winscp直接导入xshell的密钥报错Winscp--》高级--》SSH--》验证--》密钥文件接着我们导入之前xshell生成的密钥,就报错了,弹出如下窗口:此时报错了,因为之前用 此时,密钥文件导入成功,重新登录即可通过winscp用密钥认证连接了。
在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。 ssh有一套很有用的工具,其中的ssh-keygen可以用来生成private和public密钥.将生成的public密钥拷贝到远程机器后,可以使ssh到另外一台机器的登陆不用密码.具体方法如下. 1) 完成这些工作后,用户从本地机器到远程机器的登录就不用密码了. 3) 关闭密码登录(可选) 如果不想再使用密码登录,可以在/etc/ssh/sshd_config中关闭 把文件中的#PasswordAuthentication yes 的#去掉,并将”yes”改成”no” 系统默认使用基于密码的验证方式,现改为基于密钥的验证方式,从而提高了系统的安全性 UPDATE: 13-01-15 注意:如果是CentOS 6.3系统, 默认会把用户的目录进行加密,所以放在/home/user下的文件都是加密的,如果直接使用这种方式登录,会提示一下错误: Permission denied (publickey,gssapi-keyex
SSH 登录安全又方便,但是输密码很不方便,本文记录密钥SSH登录的方法流程。 实验环境 登录机器 Windows 被登录机器 Ubuntu 操作流程 生成私钥公钥 ssh-keygen 在ssh路径下得到 id_rsa, id_rsa.pub Linux 下在 ~/.ssh 文件夹 omv HostName 192.168.1.111 User vvd Port 22 IdentityFile ~\.ssh\id_rsa IdentitiesOnly yes 密钥访问 Last login: Tue Feb 8 23:20:25 2022 from 192.168.1.4 vvd@omv:~$ 即可免密安全登录 ssh 终端 参考资料 https://www.cnblogs.com
制作密钥对 首先在服务器上制作密钥对。 首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令: [root@host ~]$ ssh-keygen <== 建立密钥对 Generating public/private rsa key 在服务器上安装公钥 键入以下命令,在服务器上安装公钥: [root@host ~]$ cd .ssh [root@host .ssh]$ cat id_rsa.pub >> authorized_keys 请留意 root 用户能否通过 SSH 登录: PermitRootLogin yes 当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录: PasswordAuthentication no 最后 将私钥下载到客户端,登陆时使用 其他操作 #显示远程登录失败的记录 [root@host .ssh]$ lastb #用 w 命令看看当前是否其他人远程登录到服务器 [root@host .ssh]$
生成秘钥 CentOS7 默认使用RSA加密算法生成密钥对,保存在~/.ssh目录下的id_rsa(私钥)和id_rsa.pub(公钥) #生成密钥 ssh-keygen -t rsa #进入.ssh 或者运行以下命令来将公钥导入 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #修改权限 chmod 600 authorized_keys 把生成的密钥下载至本地 #安装使用rz/sz命令 yum install -y lrzsz 使用rz上传文件到服务器上 使用sz命令发送服务器文件到本机 # 配置 SSH vim /etc/ssh/sshd_config #配置密钥 AuthorizedKeysFile .ssh/authorized_keys #使用公钥 PubkeyAuthentication yes #禁用密码登录 PasswordAuthentication
个人博客 https://www.tanchengjin.com/article/128 密钥分为公钥与私钥 密钥登录的原理是通过生成一个密钥,一个公钥,然后将公钥放到服务器上,客户端存放私钥。 这样一来客户端就可以使用私钥来完成认证登录。 一、生成公钥与私钥 1、生成 ssh-keygen ssh-keygen常见参数 -t 如果没有指定则默认生成用于SSH-2的RSA密钥。 如果配置root用户的免密码登录,就需要在root家目录中进入.ssh文件夹创建authorized.keys文件,并写入生成的公钥内容,如果配置的是其他用户的免密码登录,就需要在其他用户家目录中的.ssh 此时客户端就可以实现密钥方式登录服务器。 同理如果想配置其他用户实现密钥登录,则将公钥文件拷贝到用户家目录的.ssh里面的authorize_keys文件中即可 2、配置多个密钥 在.ssh文件夹中创建config配置文件 vim .ssh/
密码登录存在的隐患 之前一直使用密码登录,方便又快捷。 殊不知,密码登录有以下几个弱点: 容易泄漏; 暴力破解(弱密码,黑客的最爱); 时间长了自己都容易忘。 瞬间想起来,可以用秘钥登录。 下面简单说下密钥登录的步骤。 /etc/ssh/sshd_config 检查下面的配置项: PasswordAuthentication yes # 必须为 yes PubkeyAuthentication yes # 如果使用密钥则保持 (root用户登录) ssh-keygen 一直回车。 PRIVATE KEY----- MIIEowIBAAKCAQEA8cJU9JgMO0jrCYz4NOiSDZ -----END RSA PRIVATE KEY----- 将输出的文本全部复制下来,粘贴到你需要用密钥登录的地方
一、生成密钥对(两种方式)并配置 方式1:使用ssh-keygen(1)生成并配置 (1)生成密钥对 [root@iZwz9catu2mrq92b07d1d0Z ~]# ssh-keygen -t iZwz9catu2mrq92b07d1d0Z (3)配置私钥 下载私钥到本地机器 [root@iZwz9catu2mrq92b07d1d0Z ~]# sz keys_root 启动Xshell 工具(Tools) 用户密钥管理者 (User Key Manager) 导入已下载的 keys_root 文件(Import) 配置完成 方式2:使用Xshell生成并配置 启动Xshell 工具 新建用户密钥生成向导(New User Key Wizard) 按步骤选择下一步 输入密钥名称和私钥密码后选择下一步 密钥对生成成功,此时私钥已自动导入到Xshell中,需要我们手动保存公钥到本地机器 上传已保存的公钥文件到服务器并配置在用户的 authorized_keys文件中 二、通过密钥登录服务器 新建会话,填写名称、主机等信息 选择左侧栏目用户身份验证,右侧方法选择Public Key,填写用户名,选择对应的用户密钥并填写密钥的密码
前面魏艾斯博客说过Xshell 用 SSH 密钥登录服务器的配置过程,当你配置完 SSH 密钥之后会发现 winscp 也无法用密码登录了,这是因为在编辑 sshd_config 文件的时候,我们修改了 接下来老魏写出 Winscp 密钥登录服务器的过程,来解决这个问题,同时也提高了 SFTP 连接安全性。 本文在阿里云服务器(点我领取千元代金券当钱花)和腾讯云服务器(点我五折优惠)上测试通过。 总结本文内容:1、Winscp 使用密钥登录服务器能够提高安全性。 3、密钥文件在本地电脑和邮箱都要有备份,防止丢失或者换一台电脑使用。 4、建议大家都使用密钥登录服务器,特别是对服务器安全设置不太了解的新手更是这样。 允许转载,保留出处:魏艾斯博客 » Winscp 密钥登录服务器配置过程 提高 SFTP 连接安全性
10 月 12 日,谷歌宣布在 Android 和 Chrome 中正式推行密钥登录 “PassKey”,以逐步替代长期使用的密码登录 “PassWord”。 推出的密钥登录可以认为是 “生物密码” 和 “授权登录” 的结合。 而密钥登录则大为不同,它不能重复使用,也不会泄露服务器漏洞,还能保护用户免受网络钓鱼的攻击以及忘记密码的困扰,即使丢失了手机, FIDO 密钥也可以从云备份安全地同步到新手机。 不过,现在这个密钥登录功能还不完善,只是一个重要的里程碑,实现了两个关键功能: 用户可以在 Android 设备上创建和使用密钥,密钥通过 Google 密码管理器 进行同步。 密钥登录功能的下一个里程碑是原生的 Android 应用 API,原生 API 将为应用程序提供多种登录方式,用户可以选择密钥登录,或是使用已保存的密码登录。
说明Linux 服务器在开启了密钥登录后,为提高安全性,默认的密码登录方式将被关闭,不能再通过 SSH 密码的方式登录服务器。 可以通过修改配置文件的方式,开启密码登录,本文将介绍在 Linux CentOS 7.x 环境下的配置方法。 3、重启服务输入命令重启 sshd 服务,重启后,可使用密码进行登录。systemctl restart sshd总结在启用密钥登录后,默认关闭密码登录,可提高服务器的安全性。 但通过以上方式,可以保持密钥与密码的双重登录方式。