网络基础之SSH

SSH(安全协议外壳)是Secure Shell的缩写,不同于telnet、ftp等明文传输。SSH是Server/Client类型工具。

从客户端来看,SSH提供两种级别的安全验证:基于口令的和基于密钥的安全验证,后者更安全,因为中间人攻击拿不到私钥。scp是secure copy的简写,可以实现远程加密复制文件。

问题:ssh安全吗?为什么需要加代理呢?syncthing

SSH权威指南

一、不同平台下的SSH工具

xshell是哪个平台的,有什么优点?

1、Windows:

Windows10已经内置ssh,旧版本Windows可以安装putty工具实现ssh client功能。如果安装了git,其内置的git bash有ssh。开启Windows 10中的ssh:

应用和功能->管理可选功能
添加功能:open ssh client以及open ssh server #就可以在命令行下使用ssh命令了(需要重启)

Windows设置:更新和安全下,针对开发人员,选中开发人员模式。

查看计算机管理/服务,确保如下服务启动:

SSH Server Broker #svchost启动的,是Windows 10 ssh server
SSH Server Proxy #svchost启动的,是Windows 10 ssh server
ssh-agent #windows/system32/openssh下启动的,是Windows 10内置的openssh客户端
sshd #windows/system32/openssh下启动的,是Windows 10内置的openssh客户端,无法启动,返回1067错误,为什么?

由于我是通过微软信箱账户登录的,改用本地账户登录。

通过另一台Linux计算机ssh登录:ssh username@IP地址。可顺利登录,键入ls以及pwd命令,竟然不认,必须使用Windows下的DOS命令,估计power shell命令也会支持地很好吧。

Windows 10加入OpenSSH客户端:HOME/.ssh目录下,放配置文件
Windows 10 原生 SSH 功能探索
How-to enable, login to, or disable Microsoft SSH Server in Windows 10

2、CentOS:

3、开启路由器R7000梅林固件中的ssh:

在系统管理、系统设置中,把“SSH Daemon”、“Enable SSH”设置为“LAN Only”

ip addr show #查看路由器的IP信息

linux命令的参数都是啥意思呢:

mount sync exec halt

4、树莓派

a、我用树莓派做服务器,都是不用图形界面的,树莓派如何缺省开启ssh

从2016年11月起,缺省ssh是关闭的,需要在windows分区boot根目录下写入文件名为“ssh”的空文件,注意不要有扩展名。

b、树莓派忘记密码,无法ssh怎么办

How To Reset A Forgotten Raspberry Pi Password

1、关闭树莓派,把tf卡插入读卡器,在windows下用文本编辑器打开“cmdline.txt”文件,在行尾加入:“init=/bin/sh” #注意,cmdline.txt内容不能换行,只有一行文字
2、把tf卡插回树莓派开机,键入如下命令:
mount -rw -o remount /
passwd pi #按照提示输入新密码
sync
exec /sbin/init
sudo halt #关闭树莓派
3、在windows下,再次打开tf卡,将 “cmdline.txt”文件行尾的 “init=/bin/sh” 删除掉。
4、再次启动树莓派,就可以用新密码登录树莓派系统了。

二、基本操作

ssh用法及命令
25个必须记住的SSH命令

1、更改ssh缺省端口22到1107:

vi /etc/ssh/sshd_config #增加1107端口
service ssh restart #/bin/systemctl restart sshd.service
firewall-cmd –zone=public –add-port=1107/tcp –permanent
firewall-cmd –zone=public –add-port=1107/udb –permannet
firewall-cmd –reload
exit
ssh -p 1107 root@zhangqihui.cc
ssh -p 22 root@zhangqihui.cc

使用手机网络,通过termux测试,修改或增加ssh端口是成功的,但是在公司台式机上安装git,通过git bash总是在ssh远程主机返回“ssh_exchange_identification:read:software caused connection abort” 是不是公司网络不但封锁了22端口,还封锁了端口包含1107在内的其他所有端口?

2、基于密钥的安全验证:

如何使用不同的私钥发起 SSH 连接?

三、端口转发

VPS:

firewall-cmd –zone=public –add-port=9000/tcp #临时测试,所以不加–permanent参数
firewall-cmd –reload

公司网络,本地,通过Git Bash:

ssh root@zhangqihui.cc #返回 “ssh_exchange_identification:read:software caused connection abort”
ssh -Nf -R 104.238.148.73:9000:127.0.0.1:8000 104.238.148.73 #返回的错误同上,还有用127.0.0.1 合适吗?

家庭网络,本地,通过Git Bash:

ssh -Nf -R 104.238.148.73:9000:192.168.1.165:8000 root@104.238.148.73 #
ssh -Nf -R 104.238.148.73:9000:192.168.1.165:8954 root@104.238.148.73 #Warning: remote port forwarding failed for listen port 9000
firewall-cmd –zone=public –add-port=9964/tcp
firewall-cmd –reload
ssh -Nf -R 104.238.148.73:9964:192.168.1.165:8964 root@104.238.148.73 #外网还是打不开笔记本上的网站!为什么?
netstat -np #查看是否已经建立通道,在本地还是在vps上执行?
netstat -nptl | grep 12230 #查询12230端口是否被监听

SSH端口转发 #很好的文章!
实战SSH端口转发
巧用netsh命令实现端口转发(端口映射)
玩转SSH端口转发
使用ssh端口转发来做内网穿透
用 SSH 命令打洞

四、Android下有哪些好用的ssh应用

1、Termux
2、Termius
3、JuiceSSH
4、Mobile SSH

高效使用 SSH 的 16 个技巧

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s