• 在Ubuntu上设置无密码SSH登录的2个简单步骤

    本教程介绍如何在Ubuntu桌面上设置无密码SSH登录。使用OpenSSH服务器验证用户登录基本上有两种方法:密码验证和公钥验证。后者也称为无密码SSH登录,因为您不需要输入密码。 设置无密码SSH登录的2个简单步骤 第一步:在你的Ubuntu桌面上生成一个公共/私有密钥对 在Ubuntu桌面(而不是服务器)上,在终端窗口中输入以下命令。 ssh-keygen -t rsa -b 4096 哪里: -t代表类型。上面的命令生成RSA类型的密钥对。RSA是默认类型。 -b代表比特。默认情况下,密钥长度为3072位。我们使用4096位的密钥来增强安全性。 当被问及要保存密钥的文件时,只需按Enter键即可使用默认文件。接下来,输入至少20个字符长的好密码短语。密码短语用于加密私钥。 私钥(您的身份证)将保存在中。主目录下的ssh/id_rsa文件。 公钥将保存在中。ssh/id_rsa。酒吧档案。 从randomart图像中,我们可以看到密钥的长度(RSA 4096)。现在运行以下命令。 file ~/.ssh/id_rsa 您应该会看到以下输出: /home/username/.ssh/id_rsa: OpenSSH private key 如果您看到“没有这样的文件或目录”错误,这意味着没有创建SSH密钥对。运行ssh-keygen-t rsa-b4096命令再次创建它。 第2步:将公钥上传到远程Linux服务器 提示:远程服务器可以运行任何Linux发行版:Debian、Ubuntu、RHEL、CentOS等等,只要它运行OpenSSH服务器,就可以使用以下方法。 使用openssh客户端软件包附带的ssh copy id命令可以轻松完成这一点。 ssh-copy-id remote-user@server-ip 输入远程用户的密码。 公钥将存储在中。ssh/authorized_keys文件位于远程用户的主目录下。现在SSH进入远程服务器。 ssh remote-user@server-ip 这一次,您需要输入RSA密钥密码来解锁私钥。您可以在登录时选择自动解锁密钥,这样以后就不必输入密码。 输入正确的密钥密码短语后,即可登录到远程Linux服务器。现在从远程服务器退出。 exit 然后再次将SSH连接到远程服务器: ssh remote-user@server-ip 这一次,您将自动登录到远程服务器,尽管您没有键入密码或密钥密码短语。此外,在使用scp命令传输文件时,不必键入密码或密钥密码短语。scp命令也由openssh客户端软件包提供,该软件包默认安装在Ubuntu桌面上。 禁用密码身份验证 虽然默认情况下使用SSH密钥登录服务器,但您仍然可以使用普通密码登录另一台计算机上的服务器。您不希望黑客发起暴力攻击来侵入您的服务器,因此在OpenSSH服务器中禁用密码验证是一种很好的做法。 要禁用密码身份验证,请在远程服务器上编辑/etc/ssh/sshd_config文件。 sudo nano /etc/ssh/sshd_config 找到这一行: #PasswordAuthentication yes 将其更改为: PasswordAuthentication no 然后找到ChallengeResponseAuthentication热线。确保它的值设置为no,如下所示。如果设置为“是”,您仍然可以使用密码登录。 ChallengeResponseAuthentication no 保存文件并重新启动SSH服务。 Debian/Ubuntu sudo systemctl restart ssh 瑞尔/森托斯 sudo systemctl restart sshd 现在如果~/中没有相应的私钥。在ssh目录下,当您尝试ssh到远程服务器时,您将看到以下错误。 Permission denied (publickey). 或 Read: Connection reset by peer 这意味着远程服务器只允许使用SSH密钥进行SSH登录,不允许密码身份验证。请注意,如果您将PasswordAuthentication设置为no,将ChallengeResponseAuthentication设置为yes,则仍然可以使用password登录。要禁用密码登录,必须将两者都设置为“否”。 备份您的公钥/私钥对 禁用SSH密码身份验证后,备份SSH密钥非常重要。如果丢失密钥,您将被锁定在服务器之外。将您的公钥/私钥对备份到USB驱动器等安全位置。 cp ~/.ssh/id_rsa* /path/to/safe/location/ 您还可以将密钥对存储在一个文件夹中,然后用加密压缩该文件夹,并将其发送到云存储,如NextCloud。 您还可以将密钥对(私钥和公钥)复制到新的Linux计算机上,并使用SSH密钥将SSH复制到服务器上。将密钥对复制到新计算机后,将其移动到新计算机。ssh/新用户的目录。 mv id_rsa* ~/.ssh/ 您需要将密钥对的所有者更改为新计算机上的用户。 sudo chown new-user:new-user ~/.ssh/id_rsa* 现在,您可以使用SSH密钥登录到新计算机上的远程服务器。 有时,我想在本地Ubuntu计算机上创建两个用户帐户来执行不同的任务。但是,我仍然希望在登录到其他用户帐户时使用SSH密钥。只需将SSH密钥对(私钥和公钥)复制到新用户的~/。ssh/folder。您需要输入RSA密钥密码短语才能解锁私钥。您可以在登录时选择自动解锁密钥,这样以后就不必输入密码。 在SSH代理中存储密钥密码短语 如果您使用的是仅限命令行的Linux框,您可能会发现每次SSH到其他Linux服务器时都需要输入密钥密码短语。这是因为SSH代理没有存储密钥密码短语。 在SSH客户端上安装并配置keychain。 sudo apt install keychain 然后编辑。bash_简介或。档案文件。在其中添加以下文本,以便用户每次登录时都会执行这两个命令。 /usr/bin/keychain $HOME/.ssh/id_rsa source $HOME/.keychain/$HOSTNAME-sh 现在注销并重新登录。你会看到这样的情况: Last login: Thu Dec 17 20:38:39 2015 from 74.125.128.103 * keychain 2.7.1 ~ http://www.funtoo.org * Found existing ssh-agent: 17651 * Adding 1 ssh key(s): /home/<username>/.ssh/id_rsa Enter passphrase for /home/<username>/.ssh/id_rsa: * ssh-add: Identities added: /home/<username>/.ssh/id_rsa 当密钥链启动时,它会检查正在运行的ssh代理,否则会启动一个。这次需要输入密钥密码短语。用户登录时会记住密钥密码,但当系统重新启动时,您必须再次输入。 现在,只要ssh服务器具有公钥,并且您正在使用的ssh客户端成功配置了私钥/公钥对和密钥链,您就可以通过ssh连接到ssh服务器,而无需键入密钥密码短语。 更改私钥密码短语 如果需要更改私钥密码短语,可以使用以下命令: ssh-keygen -f ~/.ssh/id_rsa -p 输入旧密码,然后输入新密码。 专业提示:使用屏幕让你的会话保持活跃 您是否一直在远程服务器上工作,突然您的计算机与Internet断开连接,无法继续在服务器上运行作业?您可以使用精彩的屏幕实用程序来保持会话的活力。在Ubuntu服务器上安装屏幕: sudo apt install screen 然后启动屏幕: screen 第一次启动时,您将看到一个介绍文本,只需按Enter键即可结束。然后你就可以像往常一样运行命令了。 如果您在服务器上有一个长时间运行的作业,现在不需要在服务器上执行其他操作,可以按Ctrl+a,释放这些键,然后按D键从当前屏幕会话中分离。您将看到如下消息。 [detached from 32113.pts-1.focal] 这表明上一屏幕会话ID为32113。您可以从SSH会话中注销,甚至可以关闭计算机。别担心,服务器上的作业仍在运行。当需要返回并检查进度时,请将SSH连接到服务器并运行以下命令以获取上一个屏幕会话ID。 screen -ls 样本输出: There is a screen on: 32113.pts-1.focal (05/19/2020 03:45:29 PM) (Detached) 1 Socket in /run/screen/S-linuxbabe. 然后可以重新连接到上一个屏幕会话。 screen -r 32113 如果您正在屏幕会话中,Internet连接突然中断,那么当您再次连接Internet时,可以在服务器上运行以下命令。 screen -d -r 32113 这次我们需要-d选项,因为之前的屏幕会话没有分离。我们需要先拆下它(-d),然后再重新连接到它(-r)。 下一步 我希望本教程能帮助您在Ubuntu上设置无密码ssh登录。您可能还需要设置自动安全更新。 在Ubuntu上设置自动安全更新(无人参与升级) 和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心。

    2022.03.24 浏览:714
  • 如何更改Windows服务器用户密码

            更改自己的密码:     1.登录到使用Windows远程桌面服务器     2.单击开始菜单,然后选择“Windows安全”     3.它会问你输入你的旧密码然后输入两次新密码,然后单击“确定”     4.更改其他用户的密码     登录到使用Windows远程桌面服务器     1.点击“开始”菜单,选择“管理工具”     2.现在,选择“计算机枭雄”     3.从左侧的菜单中选择“用户和组”     4.点击“用户”文件夹     5.右键单击谁是你想改变,选择“设置密码”密码的用户     6.它会问你,如果你希望继续前进,并点击“继续”     7.现在,在输入两次新密码,然后单击确定

    2021.12.21 浏览:125
  • Linux服务器登录安全配置

    Linux操作系统在服务器租用领域应用非常广泛,与此同时安全性问题也不容小视,网络上每天都存在扫描、注入、攻击等,而作为Linux的第一道入口“登录”显得至关重要。如何配置安全的登陆防护,今天跟大家重点分享一下! 修改SSH端口 Linux系统默认使用22作为SSH端口,但是默认端口非常容易被扫描或者暴力破解,将其修改为一个不容易猜到的端口非常有必要。 root@ip-172-31-13-36:~# vi /etc/ssh/sshd_config  把22修改为其他端口即可! 禁用root直接登陆 root用户在Linux系统中处于天神级别,一旦被别人获取您服务器root权限,后果不堪设想。我们可以新建一个普通用户,然后将root用户禁止登录,大致的做法如下: #新建一个用户mifan  useradd mifan  #为hixz设置密码  passwd mifan  #修改ssh配置文件  vi /etc/ssh/sshd_config  #将PermitRootLogin yes 改为PermitRootLogin no, 或者注释这一行  #重启ssh服务  service sshd restart 修改配置文件需要root用户才能执行,完成之后root用户将不能登录,使用普通用户(mifan)登录即可,若某些操作必须用到root权限,可以使用su -切换为root,或者加上sudo命令。 使用密钥文件登陆 1.使用命令ssh-keygen -t rsa生成密钥,会生成一个私钥和一个公钥,在提示输入passphrase时如果不输入,直接回车,那么以后你登录服务器就不会验证密码,否则会要求你输入passphrase,默认会将私钥放在/root/.ssh/id_rsa公钥放在/root/.ssh/id_rsa.pub 2.将公钥拷贝到远程服务器上的/root/.ssh/authorized_keys文件 ,注意,文件名一定要叫authorized_keys 3.客户端上保留私钥,公钥留不留都可以。也就是服务器上要有公钥,客户端上要有私钥。这样就可以实现无密码验证登录了。 其他配置 不要随意执行来历不明的第三方脚本 不要擅自将服务器权限转交给他人 不要过度依赖于IDC商家的自动备份,自己定期备份数据也是非常重要的 及时检查修复服务器、程序漏洞 设置复杂的安全口令 其它,欢迎补充

    2021.12.21 浏览:112