Linux 远程SSH整理
Linux远程SSH问题整理
参考链接:
Ubuntu无法SSH登陆的解决方案
https://zhuanlan.zhihu.com/p/597419456?utm_id=0
Ubuntu通过shell脚本将SSH多次登录失败的IP自动加入黑名单
https://blog.csdn.net/weixin_52270081/article/details/121496140
1、连接ssh_exchange_identification
【异常提示】ssh_exchange_identification: read: Connection reset by peer
sudo vim /etc/hosts.allow
写入下面字符串,保存
sshd: ALL
重启ssh服务
sudo systemctl restart sshd
2、自动加入黑名单
比如:密码多次输错(一般策略设置5次)
sudo vim /etc/hosts.allow
加入ip
all:123.45.123.45
重启服务
sudo service network-manager start # 或者 sudo systemctl start NetworkManger
如果是自己尝试密码错误被记录到名单,删掉被加入的黑名单ip就可以了。
sudo vim /etc/hosts.deny
3、有可能以前的配置错误
rm ~/.ssh/known_hosts
删除一下 know_hosts 文件,重新连接。
4、ubuntu三个文件日志介绍:
1:/var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记录系统启动时间;
2:/var/log/wtmp:记录当前正在登录和历史登录系统的用户信息,默认由last命令查看;
3:/var/log/btmp:记录失败的登录尝试信息,默认由lastb命令查看。
sudo lastb # 或者 sudo lastb -n 30 #查看最新前30条
SSH远程执行shell
要在本地机器通过SSH远程执行另一台机器上的命令,可以使用SSH命令。以下是一个基本的命令格式:
ssh user@host 'shell'
比如:
ssh user@remote-host.com 'ls -l'
如果你需要执行一系列命令,可以把这些命令写入一个脚本文件,然后通过SSH传输并执行这个脚本文件,例如:
ssh user@remote-host.com 'bash -s' < local_script.sh
其中local_script.sh是本地的脚本文件,通过管道符号 < 将其内容作为输入传给远程主机的bash执行。
免密码登录:可以使用SSH密钥对,或者在.ssh/config文件中配置公钥认证和Host别名。
注意:
1、确保远程主机已经开启SSH服务;
2、防火墙规则允许SSH连接;
3、本地用户需要有远程主机的登录权限。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」