烂泥:学习ssh之ssh密钥随身携带

本文由秀依林枫提供友情赞助,首发于烂泥行天下

在上一篇文章《烂泥:学习ssh之ssh无密码登陆》中,我们讲解了如何使用ssh密钥,免密码登陆服务器。

这篇文章我们再来讲解,如何把已经生成的密钥随身携带。

有关如何生成ssh密钥的详细步骤,可以查看上一篇文章《烂泥:学习ssh之ssh无密码登陆》。

一、生成密钥

现在我们通过xshell生成密钥,注意:本章节,我只进行截图,不做进一步的文章说明。

如下:

我们现在有了公钥和私钥:id_dsa_150518.pub、id_dsa_150518,把公钥id_dsa_150518.pub上传到需要连接的服务器192.168.1.9的ilanni用户的对应目录下。如下:

ifconfig eth0|grep ‘inet addr‘|awk ‘{print $2}‘|cut -d: -f2

cat .ssh/authorized_keys

现在我们就可以把这个密钥id_dsa_150518随身携带,无论在什么地方都可以连接192.168.1.9服务器。

注意:我们现在所说的密钥,其实就是上面xshell生成的ssh私钥。

同时还要注意私钥id_dsa_150518,我们可以携带该私钥文件,也可以把该私钥的内容复制到其他文件中也行。如下:

注意:ssh私钥的内容在复制,不能缺少任何一个字符。

二、windows下连接ssh服务器

假如,我们现在到一个新的地方,使用的OS是windows,而ssh的私钥就在我们身边的话,我们就可以通过该私钥连接ssh服务器了。

在此,我们还是以使用xshell来连接ssh服务器为例,进行讲解。当然你也可以使用其他的ssh客户端软件,进行连接。

使用如下命令连接ssh服务器,如下:

ssh [email protected]

此时xshell会弹出要你输入密码的界面。如下:

我们不选择Password选项,要选择Public Key选项。然后选择“浏览”--“文件”,如下:

找到我们携带的ssh的私钥文件id_dsa_150518,如下:

选择私钥文件,如下:

通过上图,我们可以很明显的看出在连接192.168.1.9服务器时,xshell确实没有提示我们要输入密码。

注意:如果你的私钥文件不是随身携带而是记住私钥内容的话,你也可以建立一个文件,比如ilanni.txt,把私钥的内容复制到ilanni.txt进去保存。

在连接ssh服务器选择密钥文件时,只需选择ilanni.txt文件即可。

三、linux下连接ssh服务器

在第二章节中,我们讲解了如何在windows下通过ssh的私钥连接ssh服务器。在这章节,我们再来讲解如何在linux下,通过ssh私钥连接ssh服务器。

先把ssh的私钥上传到linux主机上或者在linux主机上新建一任意文件,把私钥的内容复制到该文件中,然后使用如下命令进行连接:

ssh -i id_dsa_150518 [email protected]

通过上图,我们可以很明显的看出,连接ssh服务器192.168.1.9还是需要输入用户密码的。

是我们的操作不对还是怎么回事呢?

如果你仔细看上述的提示的话,你会发现这个是因为ssh私钥用户权限的设置太大,不安全造成的。

ssh为了安全起见,对私钥文件的权限一般要设置为600,即用户自己对该私钥文件具有读写权限,其所在的用户组及其他用户组对私钥文件不具有任何权限。

我们现在只需要把ssh私钥文件的权限设置为600即可,如下:

chmod 600 id_dsa_150518

再次使用ssh -i id_dsa_150518 [email protected]命令进行连接,如下:

通过上图,我们可以很明显的看出,现在我们已经进入到192.168.1.9这台服务器中,而且是没有输入密码的。

注意:上述命令中的-i参数用于指定ssh私钥文件。

有关ssh命令的相关参数使用方法,可以参考ssh的帮助。如下:

ssh --help

到此有关ssh密钥随身携带的全部内容就结束了。

时间: 2024-12-29 07:01:47

烂泥:学习ssh之ssh密钥随身携带的相关文章

SSH无需密码密钥登录

使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机. ssh-keygen 创建公钥和密钥. ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上. ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 . 步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥 [email prote

SSH管理多密钥

生成密钥对 ssh-keygen -t rsa -b 4096 -C "[email protected]" # 默认情况下在~/.ssh目录下生成id_rsa和id_rsa.pub两个文件 # id_rsa是密钥,id_rsa.pub是公钥 # 生成a密钥对和b密钥对,-f参数设置密钥文件的文件名 ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/a_id_rsa ssh-keygen -t rs

第1章 ssh和SSH服务(包含隧道内容)

本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的man文档,如本文有不理解的地方,可以参考man文档手册:ssh中文手册. 本文目录: 1.1 非对称加密基础知识 1.2 SSH概要 1.3 SSH认证过程分析 1.3.1 主机验证过程 1.3.2 身份验证过程 1.3.3 验证通过 1.4 各种文件分布 1.5 配置文件简单介绍 1.5.1 s

linux下的ssh与ssh客户端

经常会看到ssh客户端,或者听到ssh到某台机器..问题:ssh和ssh客户端什么关系? 1.ssh,secure shell,是一种网络交互协议,也指实现该协议的网络服务程序.主要用于远程机器管理,包括客户端和服务器两部分. 服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求.服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证.密钥交换.对称密钥加密和非安全连接. 客户端包含ssh程序以及像scp(远程拷贝).slogin(远程登陆).sftp(安

ssh和SSH服务(包含隧道内容)

ssh和SSH服务(包含隧道内容) 72.16.10.6:/etc/fstab-->/172.16.10.3:/tmp/a.txt. [[email protected] ~]# scp 172.16.10.6:/etc/fstab 172.16.10.3:/tmp/a.txt fstab 100% 501 0.5KB/s 00:00 Connection to 172.16.10.6 closed. 1.7.1 scp拷贝机制分析 scp的拷贝实质是建立ssh连接,然后通过此连接来传输数据.如

Linux学习-02-远程连接SSH工具及密钥登录配置

工具有很多,推荐的比较多的是SecureCRT,本人也是用的这个. 1.使用前需要调整下设置,选项-会话选项-终端-仿真-linux,选择ansi颜色 但ls的时候,目录的蓝色跟背景的黑色非常接近,很难看清楚,需要修改 选项-全局选项-终端-外观-ANSI颜色-把深蓝色调成浅蓝色. 2.默认的回滚行数为500行.可以通过打开[选项]->[会话选项]->[终端]->[仿真]-回滚缓冲区],默认为500行,建议调到32000或更大. 3.创建日志文件.终端-日志文件-创建目录%S-%Y-%M

linux ssh 创建双向密钥

Linux ssh 安全登陆 创建ssh密钥 [[email protected] ~]# ssh-keygen -t rsa #创建密钥 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): # 密钥位置 Enter passphrase (empty for no passphrase): #输入密钥,可以为空 Enter same passphrase

JavaEE学习笔记之SSH—Struts2(1)

现在来学习SSH中的第二个框架--Struts2 Struts2是一个基于MVC设计模式的Web应用框架. 首先将Struts2的框架搭建起来: 1)获取发布包 可以从 Struts2官网.Apache.GitHub等,当然直接百度肯定也是可以的. 2)导入相关 jar 包 将 struts-2.3.24.1-all\struts-2.3.24.1\apps\struts2-blank.war 压缩文件解压,然后将 E:\utils\struts2\struts-2.3.24.1-all\str

BT5 ssh启动,密钥添加

启动SSH服务 1.启动ssh服务 [email protected]:/#/etc/init.d/ssh start 2.生成密钥KEY [email protected]:/#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key [email protected]:/#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key [email protected]:/#sshd-generate