1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、ssh密钥对登录安全吗?实践篇 2、SSH详解-3.密钥登陆 3、使用sshpass和ssh实现无密码自动远程登录 4、ubuntu登录ssh工具 ssh密钥对登录安全吗?实践篇

在上一篇文章 《ssh密钥对登录安全吗?原理篇》 了解了ssh密钥对登录原理后,接下去就是实践的问题了,这是大部分人更关心的知识,其中也有一些隐藏的陷阱。

首先 要生成一对密钥对,ssh-keygen 是 ssh 工具集中的一个工具,用于生成密钥对:

-b 是密钥对的长度,越长越安全,但运算速度就会相应变慢,在这个例子中生成的是一个 RSA 密钥对,其中 id_rsa 是公钥(也可以自定义名字),公钥也叫做 identity 文件,需要放到 ssh 服务器 ~/.ssh/authorized_keys 文件中(其中 ~ 符号表示想要以那个属主用户的身份(比如 root 用户)登录ssh服务器),用于证明这个密钥对拥有访问 ssh 服务器的权限。

在 ssh 登录的时候,ssh 客户端需要读取公钥文件,但不会传输。

那么 passphrase 是什么呢?是一个口令,用于保护密钥对,有了口令,即使密钥对文件泄漏了,由于攻击者没有口令解密,那么密钥对仍然是安全的。

如果图省事,口令可以为空,如果不为空,则ssh登录的时候需要输入口令。

运行完成后,生成的密钥对默认会保存到客户端属主目录 ~/.ssh 下,为什么生成在这个目录呢?因为登录验证的时候 ssh 客户端会读取属主目录下的公钥文件。

接下去查看生成的密钥对文件,运行如下命令:

id_rsa.pub 文件就是公钥,id_rsa 是私钥,需要注意的就是这二个文件的权限问题,私钥权限必须是 600,严格限制权限,而 id_rsa 权限可以适当放大,对于客户端,~/.ssh 的目录权限不会影响 ssh 登录,但从安全的角度看,请保持 700 权限。

公钥文件上传到ssh服务器后,其实就可以删除了,因为私钥包含公钥。

接下去 就是要将公钥放到 ssh 服务器上,一般有三种方法:

1:ssh-copy-id

ssh-copy-id 工具专门用于将公钥上传到ssh服务器的authorized_keys文件中,这个工具通过口令登录的方式上传公钥,运行很简单:

ssh-copy-id 默认会上传 ~/.ssh/ 目录下公钥文件(即 identity 文件 ),ssh服务器上可能有多个用户,那上传到那个用户的.ssh目录下呢?这根据 username 而定,比如 /home/username 目录。

如果 identity 文件不在 ~/.ssh 目录下或者名称不是默认的 id_rsa ,也可以通过 -i 参数指定文件,比如:

如果ssh服务器上的 ssh 打开 StrictModes 严格模式,这个工具会更改ssh服务上的 ~/.ssh目录, ~/.ssh/authorized_keys 文件的权限。

重点要注意的是,ssh服务器用户的.ssh目录必须是700 权限,authorized_keys 文件也必须是 700 权限,否则 ssh 登录验证会失败,下面会重点描述这个问题。

2:手动上传公钥

如果ssh服务器关闭了口令登录方式,就必须使用这种方式了,重点要注意权限问题。

首先拷贝 ~/.ssh/id_rsa.pub 内容,然后登录到ssh服务器上,再将剪贴板的内容粘帖到 ~/.ssh/uthorized_keys 文件中(如果不存在就创建对应的目录和文件)

最后运行下列命令:

尽量保证目录和文件只有对应的ssh用户才能访问,否则ssh登录会失败,原因就是为了保障安全,你总不希望自己的公钥被ssh服务器上的其他用户看到把?

3:使用ssh口令登录方式手动上传公钥

如果机器上没有 ssh-copy-id 工具(Windows 10 原生 ssh 客户端就没有),可采用这种方式,其实也很简单,就一条命令,但能让你了解详细的工作过程,所以比较推荐这种方式:

最后 就是 ssh 登录服务器,验证自己的公钥是否成功上传了,执行下列命令:

当然也可以指定私钥文件,比如 :

如果登录的时候还是让你输入口令,则很有可能是ssh服务器上的 ~/.ssh/authorized_keys 权限有问题,请检查下。

如果还是遇到登录失败的问题,可以在ssh服务器上查看日志,比如:

相关文章:

SSH详解-3.密钥登陆

SSH详解-1.ssh基础知识

SSH详解-2.ssh基本用法

SSH详解-3.密钥登陆

SSH详解-4.多个ssh公钥

在上一篇中我们了解到了ssh基本用法,ssh通过密码进行登录。密码登录存在很多问题。密码太简单,又不安全。密码太复杂,不容易记,而且每次登录都要输入很麻烦。于是就有了密钥登陆。

什么是密钥(key)?

ssh密钥登录采用的是 非对称加密 。

非对称密钥加密系统,又称公钥密钥加密。它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥(public key)和,另一个由用户自己秘密保存,即私用密钥(private key)。

如果数据使用公钥加密,那么只有使用对应的私钥才能解密,其他密钥都不行;反过来,如果使用私钥加密(这个过程一般称为“签名”),也只有使用对应的公钥解密。

了解完密钥后,接下来看看密钥登录的过程,SSH 密钥登录分为以下的步骤。

第零步,准备步骤客户端通过 ssh-keygen 生成自己的公钥和私钥,并将公钥放入远程服务器的指定位置。

第一步,用户客户端向服务器发起SSH登录的请求。

第二步,服务器收到用户SSH登录的请求,服务器生成一些随机数据发送给客户端。

第三步,客户端接收到服务器发过来的数据,客户端使用私钥对数据进行签名后再返回给服务器。

第四步,服务器收到客户端加密后的数据,使用对应公钥进行解密。然后判断解密后的数据是否与原始数据一致,如果一致就允许用户登录。

ssh-keygen 是OpenSSH提供的一个命令行工具,用于生成密钥登录所需的公钥和私钥。

在上面的例子中,我使用了-t参数来指定加密算法,一遍会选择rsa或者dsa。

第一个问题,问我要保存在哪?(直接Enter默认会保存在~/.ssh/id_rsa中)因为我之前已经生成过密钥了,我就保存在tenxun里面。

第二个问题,询问是否要为私钥文件设定密码保护(passphrase)。这样的话,即使入侵者拿到私钥,还是需要破解密码。如果为了方便,不想设定密码保护,可以直接按回车键,密码就会为空。

最后,就会生成私钥和公钥,屏幕上还会给出公钥的指纹,以及当前的用户名和主机名作为注释,用来识别密钥的来源。

从上面的公钥中我们可以看到末尾的公钥注释 23696@DESKTOP-GKRBCVI

公钥注释可以用来识别不同的公钥,表示这是哪台主机(DESKTOP-GKRBCVI)的哪个用户(username)的公钥。

注意 ,公钥只有一行。因为它太长了,显示的时候可能自动换行了。

OpenSSH 规定,用户公钥保存在服务器的 ~/.ssh/authorized_keys 文件。你要以哪个用户的身份登录到服务器,密钥就必须保存在该用户主目录的~/.ssh/authorized_keys文件。只要把公钥添加到这个文件之中,就相当于公钥上传到服务器了。每个公钥占据一行。如果该文件不存在,可以手动创建。

-i 指定要上传公钥(公钥文件可以不指定路径和 .pub 后缀名),user是所要登录的用户名,hostname是主机名,这两个参数与ssh 登录命令是一致。

特别注意 ,不是把公钥上传上去就行了,还需要把 authorized_keys 文件的权限要设为644,即只有文件所有者才能写。如果权限设置不对,SSH服务器可能会拒绝读取该文件,导致密钥登录失效,登录的时候还需要输入密码。

提到输入密码,如果再生成公钥和私钥的时候设置了密码,使用密钥登录的时候也需要输入私钥的密码,这样可以防止他人非法窃取了私钥。

私钥设置了密码以后,每次使用都必须输入私钥密码,这个问题可以使用 ssh-agent 命令解决。

百度百科-密钥

Git - 生成 SSH 公钥 (git-scm.com)

ssh(1) - OpenBSD manual pages 使用sshpass和ssh实现无密码自动远程登录

linux对linux进行登录可以使用ssh工具,但是在使用ssh的时候经常需要输入密码,因此需要安装sshpass工具,实现自动登录。

使用命令登录远程服务器:

为了解决每次登录都需要输入密码,ip地址等信息,可以自定义一个shell命令。首先打开bash配置文件:

在最后添加一下代码:

推出文件之后,重载bashrc文件:

在终端输入sshww即可远程登录服务器。

一台电脑安装了linux系统和windows系统,时间会不同步。

ubuntu登录ssh工具

在尝试用CRT登录的时候,无法登录到ubuntu系统,于是开始检查,以下是我登录方法。

1、首先检查ubuntu是否安装ssh工具,如果没有安装则用apt命令安装。

2、在防火墙中关闭22端口的拦截,使用命令:

sudo ufw allow 22/tcp     #允许外部访问22端口(ssh的端口)

3、用CRT连接时使用SSH2连接,用户名使用当前登录用户,输入密码,即可连接。

相关文章 8

1

redis数据库教程,redis 数据表 3分钟前

目录:1、Redis官方教程 Expire超时2、redis入门教程 基本操作如下3、怎样连接Redis数据库Redis官方教程 Expire超时 EXPIRE key second 设置超时 key 。超...

2

帝国cms后台模板,帝国cms栏目没有了 3分钟前

目录:1、帝国cms模板安装,求指导......QQ3052611422、如何使用帝国CMS模板3、帝国cms的模板文件在哪个目录下面呀?帝国cms模板安装,求指导...

3

网站建设,网站建设服务 6分钟前

目录:1、一个网站建设包含哪些内容?2、怎么进行网站建设啊?3、什么是网站建设?4、网站建设包括哪些内容5、网站建设是如何进行的?...

4

云服务器黑洞,云服务器黑洞是什么 7分钟前

目录:1、网站被DDOS攻击 IP被阿里云拉黑洞了怎么办?2、阿里云服务器一直在黑洞中该怎么解除3、阿里云服务器能抗ddos吗?可以抗多少流量...

5

阿里云福利口令,阿里云新福利码 9分钟前

目录:1、谁有阿里云域名续费优惠口令给个2、阿里云盘福利社的福利码是多少?3、《阿里云盘》免费储存容量介绍4、阿里云盘福利社的福利...

6

包含专业排名优化体味易速达的词条 10分钟前

目录:1、推荐几个专业SEO优化工具2、seo排名优化品牌3、网站排名优化公司哪家比较靠谱?4、排名村网站靠谱吗5、SEO快速排名优化方法推荐...

7

智贸云,智贸云使用 12分钟前

目录:...