当前位置:首页 » 云服务器 » 公钥复制如何知道服务器地址

公钥复制如何知道服务器地址

发布时间: 2022-12-09 03:52:12

A. SSH原理 and SSH远程登录

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文主要介绍OpenSSH免费开源实现在Ubuntu中的应用,如果要在Windows中使用SSH,需要使用另一个软件PuTTY。

SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。

传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

但并不是说SSH就是绝对安全的,因为它本身提供两种级别的验证方法:

第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。

第二种级别(基于密钥的安全验证):你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑上是否安装了客户端和服务器。

如果只是想远程登陆别的机器只需要安装客户端(Ubuntu默认安装了客户端),如果要开放本机的SSH服务就需要安装服务器。

首先确认ssh-server是否已经启动了

如图,sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:

停止和重启ssh服务的命令如下:

接下来就可以进行使用客户机远程登录服务器了~

口令登录非常简单,只需要一条命令,命令格式为: **ssh 客户端用户名@服务器ip地址 **eg:

如果需要 调用图形界面程序 可以使用 -X 选项

如果客户机的用户名和服务器的 用户名相同 ,登录时 可以省略 用户名。

还要说明的是,SSH服务的 默认端口是22 ,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用** -p 选项来修改端口号**,比如连接到服务器的1234端口:

客户机必须要知道服务器的 ip地址 。可以在服务器端电脑上利用** ifconfig** 命令查看该机的ip地址:

如果是第一次登录远程主机,系统会给出下面提示:

意思是,该远程主机的真实性无法确定,其公钥指纹为 SHA256:s8pZiuKQr7k7f+57j22lk/IdWC8143VQKR+EabeP5,确定想要继续连接吗?

输入yes 即可。这时系统会提示远程主机被添加到已知主机列表。

然后会要求我们输入 远程主机的密码 ,输入的密码正确就可以成功登录了。命令提示符会修改为远程主机的提示符,现在开始,终端中输入的命令都将在服务器中执行。

我们可以通过** Ctrl+D** 或者 exit 命令 退出远程登录

每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性。

1、在本机生成密钥对

使用ssh-keygen命令生成密钥对:

ssh-keygen -t rsa #-t表示类型选项,这里采用rsa加密算法
然后根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下),执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。

2、将公钥复制到远程主机中

使用ssh--id命令将公钥复制到远程主机。ssh--id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中

ssh--id [email protected]
经过以上两个步骤,以后再登录这个远程主机就不用再输入密码了。

1)已获取登录实例的管理员帐号及密码(或密钥)。
2)云服务器实例已开通22号端口。

—使用密码登录

Host Name(or IP address) :服务器的IP地址;
Port :服务器的端口,必须设置为22;
Connect type :选择 “SSH”;
Saved Sessions :填写会话名称,例如 test。 配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器;

登录完成后,命令提示符左侧将显示当前登录云服务器的信息。

—使用密钥登录

Ps: 当不存在私钥文件时,可以选择Conversions > Import key 导入公钥(.pem)文件来生成私钥文件(.ppk)

Host Name (IP address) :服务器的IP;
Port :服务器的端口,必须填 22;
Connect type :选择 “SSH”;
Saved Sessions :填写会话名称,例如 test。 配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器;

登录完成后,命令提示符左侧将显示当前登录服务器的信息。

B. 如何在SecureCRT上使用公钥登陆Linux服务器

首先在客户端上用ssh-keygen 生成你的公钥和私钥
然后把你的公钥文件复制到服务器的.ssh/authorized_keys文件中
然后客户端就可以用这个公钥匹配私钥登录了

C. 如何使用SSH登录远程服务器

默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh
IP地址1
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh
用户名@IP地址
-p
端口号1
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的.ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen1
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp
-P
端口号
本地文件路径
用户名@远程服务器地址:远程路径1
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的.ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。

D. SSH详解-4.多个ssh公钥

SSH详解-1.ssh基础知识
SSH详解-2.ssh基本用法
SSH详解-3.密钥登陆
SSH详解-4.多个ssh公钥

前面说了利用密钥ssh可以快速登录,而不用每次都输入密码。

有时候在github和gitee中我们想用不同的密钥登录,或者某个服务器我们想使用另外一个公钥登录。这就情况下我们就需要配置多个公钥。

我们在生成私钥和公钥的默认的名称是 id_rsa 。前面已经详细说过密钥登录流程了,而密钥登录的时候会默认读取 id_rsa 密钥进行验证。因此,我们在使用多个密钥对的时候,必须告诉ssh哪个服务器验证用哪个密钥。

在一台电脑上生成多个公钥格式 ssh-keygen -t rsa -C 邮箱 公钥名 ,详细参数上一节已经说过了。

在 ~/.ssh/ 文件夹下面默认是没有config文件的,要配置多少个ssh公钥我们需要在该文件夹下新建一个 config 文件。

User 登录的用户名, IdentityFile 密钥文件路径, HostName 服务器ip地址或者域名。

Host 主机名,为什么把这个放到最后说呢?
需要注意一点配置完后应使用 ssh root@tenxun 来登录 ,也就是说@后面的是Host不是HostName。

E. 如何用SSH密钥远程登录腾讯云linux服务器

1.要登录腾讯云LINUX服务器,需要用SSH软件。例如XSHELL。
2.以在东芝L315笔记本电脑为例。系统是WIN
VISTA。
3.运行XSHELL软件,点击文件,新建。
4.在主机处填写服务器IP地址。
5.点击用户身份验证,填写服务器用户名和密码。LINUX服务器默认用户名是root。填好后点击确定。
6.在会话对话框中选择刚才创建的服务器,点击连接。
7.XSHELL软件会自动进行连接,连接成功后,就成功登录到云服务器了,可以进行安装面板等相应操作。

F. 【Linux】SSH 使用密码/公钥远程登录总结

本文是笔者查阅网上资料做的总结,关于SSH原理,什么是对称加密和非对称加密,本文不过多介绍。这里介绍一下SHH的工作过程、配制方法,可能出现的问题及解决方法。
说明:本文中涉及的例子,SSH客户端为:本地主机A,SSH服务器为:服务器B

SSH协议采用C-S(客户端-服务器端)架构进行双方的身份验证以及数据的加密。
服务器端组件监听指定的端口,负责安全连接的建立、对连接方的身份认证、以及为通过身份认证的用户建立正确的环境。
客户端负责发起最初的TCP握手、安全连接的建立、验证服务器的身份与之前记录中的一致、并将自己的验证信息提供给服务器。
一个SSH会话的建立过程分为两个阶段。第一阶段,双方沟通并同意建立一个加密连接通道以供后续信息传输用。第二阶段,对请求接入的用户进行身份验证以确定服务器端是否要给该用户开放访问权限。

当客户端发起TCP连接时,服务器端返回信息说明自己支持的协议版本,如果客户端上支持的协议与之匹配,则连接继续。服务器会提供自己的公共主机密钥(public host key)以让客户端确认自己访问的是正确的机器。

然后,双方采用一种Diffie-Hellman算法共同为该会话建立密钥。每一方的一部分私有数据,加上来自对方的一部分公共数据,通过这种算法计算,能够得出完全相同的密钥用于本次会话。

整个会话的通讯内容都使用该密钥进行加密。这个阶段使用的公钥/私钥对与用户验证身份用的SSH密钥是完全无关的。

经典Diffie-Hellman算法的计算步骤如下:

这个共享密钥的加密方式被称为二进制数据包协议(binary packet protocol)。该过程能够让双方平等的参与密钥生成的过程,而不是由单方掌握。这种共享密钥生成的过程是安全的,双方没有交换过任何未经加密的信息。

生成的密钥是对称式密钥,一方用于加密信息的密钥等同于另一方用于解密信息的密钥,而任何第三方由于不持有该密钥,是无法解密双方传递的内容的。

会话加密通道建立后,SSH开始进入用户认证阶段。

下一步,服务器验证用户身份以决定是否准许其访问。验证有不同的方式,选择的验证方式取决于服务器的支持。

最简单的验证是密码验证:服务器要求客户端输入密码,客户端输入的密码经过上述的通道加密传输给服务器。

虽然密码是加密过的,然而该方法仍然不被推荐,因为用户经常为了省事而使用过于简单的密码,而这类密码很容易就能够被自动化脚本破解。

最流行的验证方式是SSH密钥对,这也是当前最推荐的方式。SSH密钥对是非对称密钥,私钥和公钥分别用于不同的功能。

公钥用于加密,而私钥用于解密。公钥可以随意上传、共享,因为公钥的流通并不会危及到私钥的保密性。

SSH密钥对的验证过程起始于上一部分加密通道建立之后,其具体执行步骤如下:

简单来说,服务器端用公钥加密信息,客户端用私钥解密信息以证明自己持有私钥。该过程同时使用了对称加密和非对称加密,两种方式各有自己的功用。

命令如下:

用户名:为要登录的服务器B中已存在的用户账户名
IP地址:为服务器B的IP地址
-p 端口号:用来指定端口号,默认为22

第一次登录时,会提示如下提示:

大概意思是说,你正在访问的主机不能验证它的真实性,它的RSA key(当前访问主机的公钥)指纹是怎样的,你确定要继续连接吗?
输入yes继续,会提示,已永久把当前访问主机的RSA key添加到了已知主机文件(用户目录下,.ssh 文件夹中的knwon_hosts文件)中。之后再次 SSH 登录就不再有该提示了。
接着,输入登录账户的密码即可。

SSH 密码登录,需要服务器开启密码验证权限,编辑服务器SSH配置命令如下:

在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,将前面的#号去掉,保存退出。

公钥登录,即免密码登录。避免的每次登录都要输入的麻烦,也防止了中间人攻击。是SSH远程登录最常用的登录方式。

提示输入密钥对名称,直接回车,使用默认名称即可;
提示输入密码(使用私钥时,要输入密码),直接回车,不使用密码即可。

首先,登录服务器B,在进行下面的操作。

找到 #PubkeyAuthentication yes,删除 #号,保存退出。

重启 ssh 服务

也可指定验证私钥:

本地主机A,生成密钥对后:

sudo vim /etc/selinux/config

G. ssh连接的时候客户端的公钥存在服务端的什么地方

客户端 ssh-keygen 产生公钥与私钥
服务端 /root/.ssh/authorized_keys 。ssh是隐藏文件夹 ,追加到 authorized_keys 文件最后

root的家目录 /root /
其他用户 的家目录 /home/用户名/

H. SecureCRT教程---SSH连接服务器的方法

方法/步骤
1、打开我们的SecureCRT客户端,点击tool-->create
public
key..
2、秘钥类型我们选择非对称类型的RSA,按照提示下一步。
通行短语是可选的,如果设置了,在连接上服务器的时候需要输入。
下一步,密钥长度,默认即可,2048也行,越长越安全。我们在这里就保持默认即可,如果选择的越大,生成密钥生成的时间也就越长。
3、这里保存了私钥地址和文件名。建议将这个名字改一改,因为生成多个用户的密钥的时候方便识别,而且放在U盘里随身携带的时候也好认识,例如把原来的"Identity"改写成"My_Win_dentity"。
4、这样公钥就创建成功了。接下来我们把这个公钥复制到我们要访问的主机上,w我们这里是CentOS,上一篇教程(http://jingyan..com/article/647f0115bae9867f2148a802.html)教了大家怎么使用密码登陆和上传文件,我们这里就先用密码登陆到主机上去。
5、然后找到刚刚我们生成公钥存放的目录,找到公钥My_Win_dentity.pub,直接拖动公钥到SecureCRT窗口中,选择send
zmodem上传。
6、然后执行ssh-keygen
-i
-f
My_Win_dentity.pub
>>
.ssh/authorized_keys把公钥加入到授权文件中。(注意这一步的前提是确认你的主机上已经安装了SSH,具体怎么安装请看我的另一篇经验《菜鸟Linux系列:[1]SSH免密码登陆远程...》http://jingyan..com/article/2fb0ba4043124a00f2ec5f0f.html)
7、修改配置文件
8、最后重启SSH服务就大功告成了。

I. iOS 逆向(一)

学习了一段时间的iOS逆向工程,在此记录一下学习中的遇到的问题和知识点

iOS逆向必须要有一个越狱手机,最好是完美越狱的手机
爱思助手 或者 pp助手 中有详细的讲解,最好用ARM64位的手机,iPhone5s(以上)。

判断手机是否越狱:判断手机上是否安装了Cydia

SSH
Secure Shell的缩写,意为“安全外壳协议”,是一种可以为远程登录提供安全保障的协议
使用SSH,可以把所有传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗
OpenSSH
是SSH协议的免费开源实现
可以通过OpenSSH的方式让Mac远程登录到iPhone

在iPhone上通过Cydia安装OpenSSH工具(软件源 http://apt.saurik.com )

很多人会将SSH、OpenSSH、SSL、OpenSSL搞混

SSL
Secure Sockets Layer的缩写,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密
OpenSSL
SSL的开源实现
绝大部分HTTPS请求等价于:HTTP + OpenSSL
OpenSSH的加密就是通过OpenSSL完成的

查看SSH版本(查看配置文件的Protocol字段)
客户端:/etc/ssh/ssh_config
服务端:/etc/ssh/sshd_config
SSH的通信过程可以分为3大主要阶段
建立安全连接
客户端认证
数据传输

SSH-2提供了2种常用的客户端认证方式
基于密码的客户端认证
使用账号和密码即可认证
基于密钥的客户端认证
免密码认证
最安全的一种认证方式
SSH-2默认会优先尝试“密钥认证”,如果认证失败,才会尝试“密码认证”

在客户端生成一对相关联的密钥(Key Pair):一个公钥(Public Key),一个私钥(Private Key)
ssh-keygen
一路敲回车键(Enter)即可
OpenSSH默认生成的是RSA密钥,可以通过-t参数指定密钥类型
生成的公钥:~/.ssh/id_rsa.pub
生成的私钥:~/.ssh/id_rsa

把客户端的公钥内容追加到服务器的授权文件(~/.ssh/authorized_keys)尾部
ssh--id root@服务器主机地址
需要输入root用户的登录密码
ssh--id会将客户端 /.ssh/id_rsa.pub的内容自动追加到服务器的 /.ssh/authorized_keys尾部

注意:由于是在~文件夹下操作,所以上述操作仅仅是解决了root用户的登录问题(不会影响mobile用户)

可以使用ssh--id将客户端的公钥内容自动追加到服务器的授权文件尾部,也可以手动操作
复制客户端的公钥到服务器某路径
scp ~/.ssh/id_ rsa.pub root@服务器主机地址:~
scp是secure 的缩写,是基于SSH登录进行安全的远程文件拷贝命令,把一个文件到远程另外一台主机上
上面的命令行将客户端的 /.ssh/id_rsa.pub拷贝到了服务器的 地址

SSH登录服务器
ssh root@服务器主机地址
需要输入root用户的登录密码

在服务器创建.ssh文件夹
mkdir .ssh

追加公钥内容到授权文件尾部
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

删除公钥
rm ~/id_rsa.pub

端口就是设备对外提供服务的窗口,每个端口都有个端口号(范围是0~65535,共2^16个)
有些端口号是保留的,已经规定了用途,比如
21端口提供FTP服务
80端口提供HTTP服务
22端口提供SSH服务(可以查看/etc/ssh/sshd_config的Port字段)
更多保留端口号: https://ke..com/item/%E7%AB%AF%E5%8F%A3%E5%8F%B7/10883658#4_3

默认情况下,使用22端口进行SSH通信,采用的是TCP协议,Mac是通过网络连接的方式SSH登录到iPhone,要求iPhone连接WiFi

为了加快传输速度,也可以通过USB连接的方式进行SSH登录
Mac上有个服务程序usbmuxd(它会开机自动启动),可以将Mac的数据通过USB传输到iPhone
/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd

注意:要想保持端口映射状态,不能终止此命令行(如果要执行其他终端命令行,请新开一个终端界面)

不一定非要10010端口,只要不是保留端口就行
端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了
新开一个终端界面,SSH登录到Mac本地的10010端口(以下方式2选1)
ssh root@localhost -p 10010
ssh [email protected] -p 10010
localhost是一个域名,指向的IP地址是127.0.0.1,本机虚拟网卡的IP地址

usbmuxd会将Mac本地10010端口的TCP协议数据,通过USB连接转发到iPhone的22端口

远程拷贝文件也可以直接跟Mac本地的10010端口通信
scp -P 10010 ~/Desktop/1.txt root@localhost:~/test
将Mac上的 /Desktop/1.txt文件,拷贝到iPhone上的 /test路径
注意:scp的端口号参数是大写的-P

cycript 开启
cycript -p 进程ID
cycript -p 进程名称
取消输入:Ctrl + C
退出:Ctrl + D
清屏:Command + R

ps命令是process status的缩写,使用ps命令可以列出系统当前的进程
列出所有的进程
ps –A
ps aux
搜索关键词
ps –A | grep 关键词

顾名思义,它的作用就是把Mach-O文件的class信息给mp出来(把类信息给导出来),生成对应的.h头文件
官方地址: http://stevenygard.com/projects/class-mp/

J. linux公钥登录远程服务器

1、公私钥简介与原理

公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是:

非对称加密算法不能使用相同的密钥进行解密,也就是说公钥加密的只能使用私钥进行解密。

2、使用密钥进行ssh免密登录

ssh使用私钥登录大致步骤就是:主机A(客户端)创建公钥私钥,并将公钥复制到主机B(被登陆机)的指定用户下,然后主机A使用保存私钥的用户登录到主机B对应保存公钥的用户。

** 两台主机:**

ssh-keygen -t rsa
-t rsa可以省略,默认就是生成rsa类型的密钥

ssh--id -i ~/.ssh/id_rsa.pub [email protected]

** 方法二:自己创建文件进行拷贝**

热点内容
linux安装无线网卡 发布:2025-03-22 06:07:48 浏览:961
urlftp 发布:2025-03-22 05:57:45 浏览:570
半导体静态存储器 发布:2025-03-22 05:53:34 浏览:793
编程知识卡片 发布:2025-03-22 05:40:40 浏览:371
搭建的网站服务器连接失败 发布:2025-03-22 05:39:08 浏览:592
浪潮的服务器地址 发布:2025-03-22 05:37:30 浏览:410
凯撒加密在线 发布:2025-03-22 05:36:45 浏览:656
空调压缩机铭牌含义 发布:2025-03-22 05:27:03 浏览:62
编程强省 发布:2025-03-22 05:26:21 浏览:142
跨云服务器平台 发布:2025-03-22 05:25:30 浏览:654