使用密钥登陆ssh

生成密钥对

在远程服务器上运行 ssh-keygen

在/root/.ssh 文件夹下生成了两个文件,公钥id_rsa.pub和私钥id_rsa

部署公钥

cd .ssh/
cat id_rsa.pub >> authorized_keys
chmod 400 authorized_keys

vim /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes

并确保当前配置允许root用户登陆

PermitRootLogin yes

分发私钥

使用scp命令从远程vps上下载公钥文件到window上

scp [-P port] user_name@vps_IP:[file_path_for_id_rsa] [local_path]

即下载 .ssh 文件夹下的 id_rsa文件

使用xshell中,重新设置属性,用户身份验证选择public key,导入id_rsa文件

或mobaXterm中的 “高级SSH设置” 中 导入private key,即id_rsa文件

使用密钥登陆成功后,禁用ssh的密码登录

vim /etc/ssh/sshd_config
修改其中 PasswordAuthentication no
重启sshd服务 service sshd restart 或 systemctl restart sshd.service

参考

https://p3terx.com/archives/configure-ssh-keyfree-login-for-vps.html

锁相放大器(Lock-In Amplifier)杂谈

前言

很久没有更新 科研笔记 这个专栏,最近在一篇 Nature Communications 的实验方法上读到了使用锁相测试噪声,仿佛突然打开了思路。锁相放大器(lock-in amplifier)这个常见而强大的仪器,配合合适的外围电路实现许多实用的测量。

去科大代培前的那个暑假(2017-08),老师就让我们学习使用锁相,虽然我从没见过这个东西,但是通过阅读手册,大概了解了锁相的原理和基本使用方法,并曾在组会上做PPT向大家介绍。在后来的实验中,成功的使用了这个设备,来采集微弱的光电信号。

这篇文章不想按部就班的、像教科书般的讲述锁相放大器的前世今生,只是寻章摘句的随心记录一下自己在使用中的心得体会。

相关概念

在本科学习中,总有许多“高深莫测”的概念,例如:

  1. 通信原理中又是根据什么分别将信号分为 基带传输频带传输 呢?
  2. 在电子电路中,有一种利用负反馈,实现频率和相位同步的电路:锁相环(Phase-locked loops,PLL)
  3. 傅里叶变换(Fourier transform),这个世界上最美的公式之一,沟通了时域和频域的信号。

一直苦于将抽象的概念形象化,但是在锁相放大器的实验中能够很好的实现对于这些概念的理解。

基本原理

Lock-in amplifiers modulate a signal, then demodulate it before applying a narrow-band filter to reduce noise.

一开始,我对于锁相的理解是一个信号接收器,通过解调将信号还原出来。模拟锁相的本质一个模拟乘法器,将调制的信号搬移到低频,再接入低通滤波器,把交流分量变成相应的直流信号输出。

Perform cross-spectrum analysis by vector summing one complex FFT output with the complex conjugate of another identical channel. If the additive noise is uncorrelated in both analog channels, then the noise will cancel with averaging. Given enough averages, this technique can enhance the noise floor by 20 dB or more.

现在大多是数字锁相,核心是DSP,所以也可以看作对时域信号进行傅里叶变换,由于是相敏检测,所以可以获得对应参考频率的分量。

后来,从黑盒的观念出发,锁相放大器实现了一个高Q的滤波器,将同频率的微弱信号提取出来,并且强烈的抑制其他频率的噪声。 但是同频率的噪声实际上是被叠加在检出信号中的。

在思考如果使用示波器采集一段信号,再做使用内置的FFT方法,是不是也能达到相同的效果呢?那么频谱仪呢?

原理上应该是相同的,但是性能差别出现在外围电路的定制优化,包括滤波器、输入输出等。

所以实际上,测试中我们需要关注始终是在时域或者频域的信号,无论是那种仪器。

实际操作

讲完上面一些理论化的感悟,下面介绍实验中的一些个小经验:

时间常数(Time Constant)的设置和后端的低通滤波器有关,通常时间常数越大,信号变化越缓慢;时间常数越小,信号变化越灵敏。也决定了噪声测量时的等效噪声带宽。

动态存储(Dynamic Reserve)的设置决定了系统对噪声的容忍程度,因为实操中可能信号的波动远大于微弱的调制信号幅度。例如Full scale 为1μV,60dB的reserve意味着可以在输入端容忍1mV的噪声。

数字锁相实际上并没有DC amplifer,对于固定reserve的模拟锁相,经过运算后的的输出信号可能很小,需要通过放大还原到Full scale的范围内。

当然最方便的是使用三个auto 功能,包括PhaseGainReserve

常用的输出包括XYRθ,读数测需要乘以一个系数(π/sqrt(2)≈2.2)。

参考文献

  1. Difference between a digital lock-in amplifier and a FFT when extracting phase of a signal? – stackexchange
  2. Principles of Lock-in Detection – Zurich Instruments
  3. Digital Lock-In Amplifiers: Theory and Design
  4. 微弱信号检测教学实验讲义 – SYSU
  5. 微弱信号检测技术 高晋占 第二版
  6. Manual – MODEL SR830 DSP Lock-In Amplifier

《怪诞行为学》——Predictably Irrational

前段时间碰巧在B站看智能路障的视频,提到了这本书,所以下载下来,擦一擦落灰地kindle,用每晚睡前地时间将这本书读完了。

部分kindle笔记:

我们的非理性行为既不是任意所致、又不是毫无目的,它有规律可循而且可以预测。

多数情况下,一旦拥有了某物,它在我们心目中就更值钱了。

为了眼前的满足而放弃长远的目标,这就是拖沓。

一旦社会规范与市场规范发生碰撞,社会规范就会退出。换言之,社会规范很难重建。

那就是要让人们渴望做一件事,只需使做这件事的事机会难以获得即可。

煮蛋器悖论

在旧宿舍,买了一个没有定时功能的煮蛋器,但是由于经常起床迟,起床后再煮蛋,用起来很不方便。新宿舍后,又买了一个带有定时功能的煮蛋器,希望能够提前在晚上放好水和蛋,并且设好定时在起床的时候煮好。

但是奇怪的是,在新宿舍每每起床后,再去准备煮蛋的东西也都来得及,并不会很不方便。原因是因为旧宿舍,舍友作息不同,回来的有早有晚,经常晚睡晚起。但是在新宿舍是单人间,作息相对规律,而且宿舍有独卫离自来水也更近了。

在外部环境变化时,采取原定的优化策略,可能并不能起到优化效果,即煮蛋器悖论。

参考:

百度百科-电梯效应

记梦(其二)

今晨亦复梦,梦中梦醒。口内察异物,血流不止,舌舐之,右下两磨牙已松,复舐之,然尽落。其一完好,而另一裂三瓣,以手探查,其因乃智齿侧顶冒出所致。牙落无痛,亦呼快哉。复梦醒,我用手摸摸牙都还在。

记梦

做了一个未来变态学校的梦,那里的里人通常反智,为了维稳表面平和,但是一旦有人接触到真正的知识,就会接到不明来电,意识瞬间穿越回到过去,并失去这部分记忆。在梦里我做了一个梦,意识到这并不简单,尝试突破系统的bug,最后在梦的指引中,来到了现实中对应的地方,没有接任何电话,爬上了学校里教学楼最高处的白色调像,找到了中国历代高考考卷和五年高考三年模拟

yum 升级遇到的内存不足问题

一、不明killed

安装完Fail2ban,比较耗内存,这个VPS只有512M,还运行了Trojan,wordpress和frp

运行 yum check-update 时遇到了killed的问题

Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。

参考 Linux进程被杀掉(OOM killer),查看系统日志

grep "Out of memory" /var/log/messages

二、yum修复

参考 CentOS: how to fix error: BDB2053 Freeing read locks for locker

三、为Linux 增加swap空间

参考

  1. Vultr VPS增加SWAP交换分区解决内存不足问题
  2. VPS添加Swap交换分区解决虚拟内存不足的问题

遭遇到了SSH暴力破解攻击

今天下午,打开博客的时候很卡,页面提示数据库错误或者服务器负载过高。

打开VPS后台,发现CPU和磁盘负载很高。

然后使用Xshell登录查看,提示:

Last failed login: Fri Dec 11 23:14:56 CST 2020 from 221.131.165.85 on ssh:notty
There were 26 failed login attempts since the last successful login.

意识到可能遭到攻击,查看ssh登录日志

cat /var/log/secure |more

第一步,先使用封IP的方法,将可疑的IP添加到 /etc/hosts.deny 中

第二步,安装 Fail2ban 辅助封IP。

yum install epel-release 
yum install fail2ban -y
# 安装fail2ban 完成后
systemctl enable fail2ban # 设置fail2ban开机启动
systemctl start fail2ban # 启动fail2ban
systemctl status fail2ban # 查看fail2ban的运行状态
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vim /etc/fail2ban/jail.local
[sshd]
enabled = true
filter = sshd
action = iptables[name=sshd,port=22,protocol=tcp]
maxretry = 3
findtime = 60
bantime = 7200
logpath = /var/log/secure

安装和配置完成后,使用命令查看,一会儿不到一个小时的时间,又被尝试了这么多次,还有这么多不同的IP,是被谁盯上了吗?

>> fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 10
| |- Total failed: 157
| - Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd - Actions
|- Currently banned: 12
|- Total banned: 12
`- Banned IP list: 112.85.42.194 40.124.5.76 46.101.164.33 117.50.36.137 221.181.185.19 119.28.178.61 222.187.232.73 221.131.165.124 218.92.0.223 221.181.185.200 221.181.185.199 190.171.133.10

今天时间比较紧,当初也没有想到被经常SSH暴力破解攻击的问题,从根源上还是应该更换ssh端口,关闭账号密码登录等来实现更安全的ssh。

参考

  1. Linux入*侵分析(二)分析SSH登录日志
  2. Linux VPS禁止某个IP访问
  3. CentOS安装Fail2ban之小白攻略
  4. 自动IP拦截工具fail2ban使用教程

读《金融的逻辑》

一 引子

最近蚂蚁IPO被叫停的事情引起了大众关注,互联网金融创新实为披着科技外衣,行金融企业之实。由于先前相关规定的缺失,在监管不足的情况下互联网金融获取了极大的利益。最近政府部门则发布了相关的政策规定 12,目前还在意见征集阶段。

我也只是普通大众的一员,没有什么系统的金融知识,只能够通过《半泽直树》补充些许常识。最近读了陈志武的《金融的逻辑》,前几章饶有兴致,后面则被作者夹带了很多他个人关于儒家文化与金融相关的看法,但我并不认同。

二 正文

本质

对于金融进行了简单明了的定义:“金融的核心是跨时间、跨空间的价值交换”。货币的出现使跨空间易于实现,而借贷则实现了跨时间的价值交换,金融加大了资本的流通性。

无论个人贷款还是公司上市,都是用未来的预期收入换取现金的一种方法。因为在年轻的时候最需要用钱,然而对于不考虑家庭援助情况下的年轻人通常是不可能有很多钱的。对于发展中的公司,如果没有金融的手段,只通过熟人相借,很难筹集到很多钱将其规模发展壮大。众多的金融辅助,其目的都是为了快资源的配置速度,降低配置成本,提升配置效率,进行生产力的充分发展。

书中反复在多个章节中提到家庭金融的概念。为了能够更顺利地活下去,也为了生命的延续,个人必须跟其他人进行跨时间、跨空间的利益交换,即,人与人之间的金融交易是人类活下去的必须。“家庭、家族就是隐性的内部金融市场”。因为亲戚间的”礼尚往来”不只是为了“情”,更多的是一种借贷利益交换。在商业保险未充分发展的时代,养儿防老也是一种对未来衰老的保险,子女是人格化的保险品。作者认为,为了维护家庭这个金融场所,社会就必须有相配的家庭、家族文化,帮助实现这些错综复杂的隐性金融契约,正是儒家文化产生和延续的原因。

钱化

对于中国改革开放之后,为了什么钱会多起来进行了分析。首先区分了钱、资本和财富的区别,三者的概念逐渐递进扩大。钱是将财富出售的所得,资本是财富的契约或票据化所得。商品除了固有价值,在市场经济里商品更强调使用价值。只有相对于人的效用而言,才有价值这回事。以土地为例,由于居住的需求,付出“钱”获得了“房屋所有权证”。

财富不一定能变成钱,在私有土地还不能交易的时候,土地是财富,但土地不是资本,也不能变成钱。市场化、资本化缩短了财富和钱之间的距离,也是钱越来越多的原因。改革开放的第一阶段,实现了市场化,买卖自由同时实现了劳动力市场和创业市场的自由。第二阶段将四类资源(1土地和自然资源;2企业及其未来收入;3社会个人和家庭的未来收入;4政府赤字)进行资本化。这四类资源也是任何国家的核心资源。

这一系列操作之后使市场上的钱越来越多,经济也得到了很好的发展。可能存在的问题在于通货膨胀以及资本带来人的异化。这些收入使得每个人的钱增加,但却不一定可以很好的衡量真实的收入和实际的购买力。简单来说,市场化、资本化之后,什么东西都需要“钱”了。

赤字

作者十分提倡财政赤字,认为这样做是藏富于民,以美国举债立国为例。1783年9月3日,英国签署《巴黎条约》,承认美国独立。一个年轻国家就这样靠举债存活下来。同时列举清朝前中期每年财政盈余,国库中积累了大量财富,但是到了晚清时期缺国力衰弱。作者认为,这是两种国策导致的两种结局。鼓吹国富民穷必然迫使老百姓为了生存而求着政府,当饭碗都控制在政府手里,民权与法治会只好让位给权力。

这部分内容很明显因果倒置。两种不同发展阶段的社会,不同的政治体制,不同的社会生产力,导致的不同的结果。两个国家的命运在这个例子中和财政的赤字并不能建立起强联系。反观在全球化的进程中,美国的国债成为转嫁其国内风险的手段。无论如何财政和债务都是政府吸收社会资源的手段,如果政府不能很好的配置这些资源,使社会良好的运转和发展,是无法通过无限赤字来缓解的,同时一个低效、低信誉的政府也无法使民众购买其债券。

对于个人而言借贷,应当利用在投资而非消费上。广义的投资包括任何可以在日后带来超过当时的付出的价值,狭义则是指理财手段。纯粹的吃喝玩乐,用于享受的消费不能创造价值,是一种单纯的消耗。但另一方面,在资本主义的语境下,将个人看成出卖劳动力的个体,劳动力作为商品也需要再生产,用于恢复个人劳动力的必要的消费也是必不可少的。

三 总结

  1. 金融的本质是跨时间、跨空间的价值交换;
  2. 市场化和资本化促进了经济发展;
  3. 警惕财政赤字和个人的借贷消费。

总体来说,看完之后有点失望,只读一下序言就可以了。