openssh使用(openssl使用)

http://www.itjxue.com  2023-03-02 17:13  来源:未知  点击次数: 

openSSH服务及其应用

:TLS/SSl(libssl,libcryto,openssl),TSL PKI

telnet,TCP/23,远程登录

认证明文(密码认证)

数据传输明文

ssh:Secure Shell ,TCP/22

C/S架构 套接字监听

SSH -- SSH

openssh(开源) 即是协议,又是软件

ssh V1(中间人攻击),V2

客户端:

LINUX:ssh

Windows:putty,SecureCRT(商业版),SSHsecureShellClient,Xmanger

服务器端:(linux,unix)

sshd

openssh(ssh,sshd)

ssh---telnet

ssh:主机密钥

client--------server

yes:接受服务器主机发来的公钥

RSA,DSA

客户端生成临时对称密钥(会话)随机生成

对称密钥使用服务器的公钥加密后传给服务器,只有服务器的私钥可以解密。

账号和密码用对称密钥加密后传给服务器进行认证。

认证通过,建立一个永久的会话通道。

基于口令的认证

基于密钥的认证

客户端生成一对密钥,公钥传到服务器的对应用户的家目录下,身份认证是客户端利用自己的私钥加密一段数据,服务器用客户的公钥解密。可解,则认证通过。

不允许root直接登录,而是用普通用户,在su切换。

一台主机为客户端(基于某个用户实现 ),

基于ssh的远程复制命令,可以实现在主机之间传输数据。

iOS 越狱--OpenSSH连接(登录)手机 和 SSH公钥登录(免密登录)

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。 SSH协议可以用来进行远程控制, 或在计算机之间传送文件。

OpenSSH连接(登录)手机

1. 在cydia 中安装OpenSSH 包

2. 打开手机wifi设置

3. 连接wifi

4. 读取ip地址

5. 打开终端

6. 运行命令 ssh root@你的ip

7. 输入密码: alpine (可以自定义)

ssh 到你的 iPhone,修改 root/mobile 两个权限下的密码。默认密码是?alpine,使用?passwd?命令修改密码。

修改 root 权限密码

likid$ ssh root@192.168.18.167 // use root role to login

The authenticity of host '192.168.18.167 (192.168.18.167)' can't be established.

RSA key fingerprint is SHA256:xxx.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.18.167' (RSA) to the list of known hosts.

root@192.168.18.167's password: // enter original passwordalpine

iPhone:~ root# passwd // change password command

Changing password for root.

New password: // enter your new password

Retype new password: // again

iPhone:~ root#exit // logout

logout

Connection to 192.168.18.167 closed.

修改 mobile 权限密码

Likid$ ssh mobile@192.168.18.167 //use mobile role to login

mobile@192.168.18.167's password: // enter original passwordalpine

iPhone:~ mobile$ su root

Password:

iPhone:/var/mobile root# cd?

iPhone:~ root# passwd mobile

Changing password for mobile.

New password:

Retype new password:

iPhone:~ root#exit

logout

Connection to 192.168.18.167 closed.

SSH公钥登录的前提是已经登录过SSH

SSH公钥登录的原理

Mac电脑将自己的公钥发给远程的手机

手机随机生成的一段字符串, 发给Mac电脑

Mac电脑利用私钥加密字符串

手机利用公钥解密字符串

SSH公钥登录步骤:

1. cd? ~/.ssh 目录下 (ls 查看当前路径下文件)

Snip20180602_1.png

2. ssh-keygen 创建RSA 密钥

ssh-keygen

使用上述命令创建 RSA的公钥和私钥.

输入命令之后, 一路回车就可以, 生成下图中两个私钥 id_rsa 和公钥 id_rsa.pub

生成密钥

3. ssh-copy-id root@192.168.1.102 拷贝密钥到服务器

ssh-copy-id root@192.168.1.102

这里的ip是你手机wifi的ip地址, 会将文件拷贝到 ~/.ssh/ 目录下

中间会需要你输入链接服务器(手机)的密码

密码默认是: alpine (在OpenSSH源中可以看到)

5. ssh root@192.168.1.102 登录SSH

ssh root@192.168.1.102

苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接.

USB 登录需要端口映射,目前有两种方式映射

Python脚本 tcprelay 端口映射:

# 将本地的12345端口映射到设备的TCP端口22# -t 表示能够同时支持多个SSH连接HanDaDaMacBook-Air:~ HanDaDa$python tcprelay.py -t 22:12345

Iproxy端口映射

# 安装libimobiledevice工具 或者usbmuxd

HanDaDaMacBook-Air:~ HanDaDa$brew install libimobiledevice?

或者

HanDaDaMacBook-Air:~ HanDaDa$brew install usbmuxd?

# 映射端口HanDaDaMacBook-Air:~ HanDaDa$iproxy 12345 22

以上两种方式成功后皆可通过以下SSH连接登录手机

# ssh连接本地的端口12345,由于做了端口映射,所以会通过usb连接对面设备的22端口。# 127.0.0.1 是IP地址# -p 表示端口号HanDaDaMacBook-Air:~HanDaDa$ssh-p12345root@127.0.0.1

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

端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了

新开一个终端界面,SSH登录到Mac本地的12345端口(以下方式2选1)

ssh root@localhost -p 12345

ssh root@127.0.0.1 -p 12345

localhost是一个域名,指向的IP地址是127.0.0.1,本机虚拟网卡的IP地址

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

也可以用itnl工具来实现端口转发

wangguanxiao-2:~ apple$ itnl --iport 22 --lport 10010

[INFO]Waiting for new TCP connection on port 10010

[INFO]Waiting for device...

[INFO]Device connected: a7aee83045805b75336d38faec08a3b73b6d49d1 - Ignoring(non-USB)

[INFO]Device connected: a0370fce4f5755310d2a26b020b989c59d9780aa - Ignoring(non-USB)

[INFO]Device connected: a0370fce4f5755310d2a26b020b989c59d9780aa

使用OpenSSH远程登录

准备一台越狱机。

1、在Cydia中安装软件源 apt.bingner.com ,然后搜索并安装OpenSSH。

2、确保Mac和iPhone在同一局域网下。

3、在Mac终端输入ssh 账户名@服务器主机地址。(例如登录root用户:ssh root@192.168.12.15,默认密码为alpine。)

4、要断开连接退出登录使用exit命令。

iOS下有2个常用账号:root、mobile。

1、root:最高权限账号,变量$HOME是”/var/root“。

2、mobile:普通权限账户,只能操作一些普通文件,不能操作系统级别的文件,变量$HOME是”/var/mobile“。

登录mobile用户使用命令ssh mobile@服务器主机地址,初始密码与root用户一样,都是alpine。

修改root和mobile用户的登录密码可以通过命令passwd和passwd mobile实现。

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

OpenSSH软件(ssh服务)

?SSH是为网络数据安全传输提供的安全协议

?OpenSSH是基于SSH协议开发的软件

?安装客户端:yum -y install openssh-clients

?安装服务端:yum -y install openssh-server

---注1:系统默认安装该服务,通过(rpm -qa | grep openssh)查看

?管理SSH服务:service sshd start/restart/stop

---注2:在Linux服务后面一般都加d,如:openssh(sshd 22)、apache(httpd 80)、mysql(mysqld 3306)

开启SSH服务 - 提供如下管理系统功能

1)远程登录管理功能

2)远程复制功能

3)文件传输功能

---在Linux或mac系统下,默认已安装openssh-clients客户端,所以可直接通过ssh、scp、sftp指令管理开启sshd服务的系统

---在widnow系统下,通过基于SSH协议的第三方软件putty、WinSCP管理开启sshd服务的系统

使用如下指令实现

1)SSH指令

?语法1:ssh 账号@服务器IP地址

?语法2:ssh -l 账号 服务器IP地址

3)SCP命令

上传命令:scp 本地文件 用户名@服务器IP地址:文件保存路径

获取命令:scp 用户名@服务器IP地址:文件保存路径 本地文件

案例一:上传

直接使用如下两款软件即可

(责任编辑:IT教学网)

更多

推荐Windows服务器文章