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、本地用户需要有远程主机的登录权限。

浙公网安备 33010602011771号