Linux下SSH登录的三种方式

这篇具有很好参考价值的文章主要介绍了Linux下SSH登录的三种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SSH登录

SSH密钥登录:SSH默认采用密码登录,这种方法有很多缺点,简单的密码不安全,复杂的密码不容易记忆,每次手动输入也很麻烦。密钥登录是更好的解决方案。接下来介绍三种SSH的登录方式。

一:SSH口令登录

1 登录原理

SSH服务默认登录方式为口令登录,也是我们平时最常用的,原理如下:

1.客户端向服务端发起请求。

2.服务端收到请求将自己生成的公钥返回给客户端。

3.客户端用返回来的公钥加密自己的登录密码,发送给服务端。

4.服务端用自己的私钥解密,并验证密码是否正确,如果正确,允许登录。

可以看到整个流程存在四个步骤,下面给大家看看详细步骤。

2 使用教程

SSH的基本使用方法是:

ssh user@remote -p port

user是你在远程机器上的用户名,如果不指定的话默认为当前用户。

remote是远程机器的地址,可以是IP,域名,或者是后面会提到的别名。

port是SSH Server监听的端口,如果不指定的话就为默认值22(ssh的默认端口)

所以,SSH口令登录的前提就是知道目标的用户名,地址和SSH服务的端口,缺一不可。

1> 建立连接

举例:假如我正在使用kali机器做渗透测试,探测到目标的地址是。

开启了22端口,并且是SSH服务,还知道了目标机器上的用户名为user1,密码为123456,就

可以用SSH远程登良路目标机器,指令如下:

ssh user1@172.21.70.110 -p 22

注:这里的-p 22也可以不要,因为-p 22是默认选项,如果是其他端口的ssh服务就需要用-P来指定其他的端口了。

2>输入密码

输入上面的指令后页面如下,提示输入密码,这里密码的输入是隐藏输入(并不会显示),输

入密码后直接回车就好。

3 缺点总结

1>安全性

整个验证机制是没什么间题的,但是当遇到中间人攻击这种机制的安全性便会遣到破坏,什么是中间人攻击?

客户端向服务端发起请求攻击人截获请求,并向客户端返回自己的公钥。客户端用公钥加密登录密码并返回。攻击人用自己的私钥解密,获得服务器的登录密码。

2>繁项性

每次登录目标主机都要输入密码,短的密码不安全,长的密码又不好记,用户体验感较差。为了解决上面这几个问题,于是更新,更安全的方法随之而生,那就是SSH密钥登录,下面我们来看看。

二:SSH密钥登录

1 登录原理

很多人可能都听过密钥登录,知道它可以通过SSH在无需密码的情况下登录目标机器上的用户,那这个流程是怎样的呢?我们来详细看看:

1.客户端自己生成密钥对,事先将公钥上传存储到远程服务器上,私钥自己保管。

2.客户端发起登录请求。

3.服务器发一串随机字符串给客户端。

4.客户端用自己的私钥加密随机字符串,返回给服务端。

5.服务端用事先存储好的公钥解密,确认字符串是原来发出的字符串,便允许登录。

可以看到整个流程存在五个步骤,下面给大家看看详细步骤。

2 使用教程

1>生成密钥对

ssh-keygen -t rsa

#-t表示类型选项,这里采用rsa加密算法,然后根据提示一步步地按回车键即可(总共三个),页面如下

Linux下SSH登录的三种方式

这里为什么连续按三个回车就可以了呢,我们来看看这三个回车对应了什么。

第一个回车:让我们输入一个目录路径来保存生成的密钥对,默认为/root/.ssh,回车代表直接默认,也可以自己输入一个路径来保存。

第二个回车:让我们设置私钥密码,如果设置了私钥密码,每次使用SSH进行操作都需要输入私钥密码。这里直接空格就是密码为空,这样每次使用就不需要输入密码。

第三个回车:这个就是单纯地再次输入私钥密码(就是一个确认密码),我们本来就是想设置密码,所以还是至二级回车即可。

像我上面那样的话密钥对就已经生成了,我们到自己设置的密钥对路径下看看,如果没有设置路径的话就是默认路径/root/.ssh,查询结果如下:

Linux下SSH登录的三种方式

可以看到在/root/.ssh路径下生成了密钥对(即公钥和私钥),其中id_rsa文件就是私钥,id_rsa.pub文件就是公钥。

2>投递公钥到服务端

上面我们已经生成了密钥对,按照步骤需要将密钥对中的公钥保存到目标机器的/.ssh/authorized_key文件中,这里给大家介绍三种投递方式,但都是基于目标开启了ssh服务和知道目标账密的前提下;

注意:~表示代码主目录,也就是我们想用SSH登录的用户目录。

第一种:

这是最简单也是最常用的方式,需要ssh-copy-id,但是一般linux都自带这个。

ssh-copy-id user@remote -p port

user是你在远程机器上的用户名,如果不指定的话默认为当前用户。

remote是远程机器的地址,可以是IP,域名,或者是后面会提到的别名。

port是SSH Server监听的端口,如果不指定的话就为默认值2(ssh的默认端口)

实例:这里我直接把上面生成的密钥对中的公钥上传到目标机器的tom用户目录下;

Linux下SSH登录的三种方式

可以看到在这里已经成功上传了,因为这是我们自己搭建的环境,我们也可以去目标机器看看/.ssh上有没有我们上传的公钥文件,也就是authorized_keys文件。

[root@localhost /]#cd/home/tom/.ssh
[root@localhost .ssh]#ls
authorized_keys
[root@localhost .ssh]#

我们再来登录便不会提示我们输入密码。

第二种:

在没有ssh-copy-id的情况下(比如在Windows上)。

ssh user@remote -p port `mkdir -p .ssh && cat >> .ssh/authorized_keys` < ~/.ssh/id_rsa.pub

这句话的意思是,在远端执行新建.ssh文件夹,并把本地的~/.ssh/id_rsa.pub(也就是公钥)复制到远端的.ssh/authorized_keys文件中。

第三种:

就是两台电脑均可控的情况下,手动把本地的~/.ssh/id_rsa.pub复制到目标机器~/.ssh/authorized_keys文件中。

三:SSH最简单登录方法(别名配置)

每次都输入ssh user@remote -p port,时间久了也会觉得很麻烦,特别是当user,remote和port都得输入,而且还不好记忆的时候。配置别名可以让我们进一步简化。

比如我想用ssh host1来替代上面这么一长串,那么在~/.ssh/config文件里面追加以下内容:

Host hostl
HostName remote
User user
Port port

举例:先在本地的~/.ssh里面创建一个名为config的文件,里面代码如下:

Host host1
HostName 172.21.70.110
User tom
Port 22

现在我们就可以尝试使用ssh host1来登录了,如下:

[root@localhost /]# cd/root/.ssh/
[root@localhost .ssh]# ls
id_r said_rsa.pub known_hosts
[root@localhost .ssh]# vi config
[root@localhost .ssh]# ssh host1
Last login:Tue0ct_1821:56:362022from172.21.70.110
[tom@localhost~]$

可以看到,也能成功登录,并且与刚才配置的密钥登录配合,不用输入密码,目标信息不用记。

注意:这个别名并不是必须配置公钥登录,这里如果没有配置密钥登录也可以使用别名,只是

登录时需要输入密码而已。文章来源地址https://www.toymoban.com/news/detail-458134.html

到了这里,关于Linux下SSH登录的三种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Termux的ssh使用方式(连接云服务器,ssh密钥登录和Termux互联)

     Termux作为强大的终端模拟软件,通过ssh可以轻松的连接到云服务器上,这里以连接阿里云服务器为例  一般在服务器运营商上购买的服务器都开启了远程连接服务。先在ternux上安装openssh。  安装完成后,在服务器控制台找到需要连接的服务器的ip地址,以47.115.217.154为例,

    2024年02月06日
    浏览(53)
  • 实战攻防演练-Linux写入ssh密钥,利用密钥登录

    密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账

    2024年02月08日
    浏览(58)
  • linux ssh常用配置密钥登录

    SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络中安全地传输数据。它可以提供远程登录和文件传输等功能。在 Linux 系统中,常用的 SSH 客户端是 OpenSSH,它可以通过命令行界面连接到远程主机,并在远程主机上执行命令。同时,OpenSSH 还提供了 scp 命令,用于在本

    2024年01月23日
    浏览(45)
  • CentOS/Linux系统安装SSH并配置SSH登录密钥

            CentOS/Linux系统命令行输入如下命令:         用vim打开配置文件 /etc/ssh/sshd_config         将上图的 PermitRootLogin , RSAAuthentication , PubkeyAuthentication 的设置为YES      

    2024年02月16日
    浏览(48)
  • 第一章:Linux常用命令+VIM+SSH介绍+SSH密钥登录

    目录 一、Linux常用命令 1)# 与 $ 提示的区别 2)ifconfig 3) su 4) cd 5) 目录查看 6) 查看文件内容 7)创建目录及文件 8)复制和移动 9)其他 10) tar 11) which 12) whereis 13) find 14) chmod 二、vim一般使用 三、SSH介绍 1) 什么是SSH 2)SSH服务端和客户端 3)基本工作机制 四、

    2024年02月13日
    浏览(61)
  • 【Linux网络】ssh服务与配置,实现安全的密钥对免密登录

    目录 一、SSH基础 1、什么是ssh服务器 2、对比一下ssh协议与telnet协议 3、常见的底层为ssh协议的软件: 4、拓展 二、SSH软件学习 1、ssh服务软件学习  2、sshd公钥传输的原理: 3、ssh命令学习: 4、学习解读sshd服务配置文件: 三、ssh服务的应用 1、使用密钥对免密码登录 第一步

    2024年02月04日
    浏览(52)
  • 【linux】linux设置ssh密钥登录详细教程,附Mobaxterm和pycharm ssh python解释器配置教程

    我们通常使用SSH 客户端来远程使用 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。但是即使是将端口设置为22之外的端口也容易泄露。为了保证服务器安全,此时

    2024年02月13日
    浏览(79)
  • Linux安装软件的三种方式

    Linux安装软件的三种方式分别为: rpm yum在线安装 解压缩 概述:RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe,是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。 RPM包的名称格式 Apache-1.3.23-11.i386.rpm “apache” 软件

    2024年02月06日
    浏览(37)
  • Linux开机自启的三种方式

    1、 在/etc/rc.local文件中添加自启动命令   ​​​​​​​2、 在/etc/init.d目录下添加自启动脚本 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。 PS:添加完后务必设置文

    2024年02月12日
    浏览(31)
  • Linux软件包的三种安装方式

    角色 系统命令 应用程序 文件位置 一般在/bin和/sbin目录中,或为Shell内部指令 通常在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin目录中 主要用途 完成对系统的基本管理工作,例如IP配置工具 完成相对独立的其他辅助任务,例如网页浏览器 适用环境 一般只在字符操作界面中运

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包