运维部落

香港vps促销1G99元 点击购买 美国vps促销512M59元 点击购买 日本vps促销1G100元 点击购买

思科tar格式IOS升级方法

2021年11月8日 没有评论

这篇文档是关于cisco交换机升级的命令用法,用于升级.tar格式的IOS,里面包含HTTP管理用到的文件。
建议大家升级交换机都用此命令吧,包括路由器升级带SDM或CCME等等,此文的出处实在是查询不到,感谢原作者的贡献。

现在C3750的文件系统做一个总结。
查看文件系统。默认是flash.
dir all (flash: )
show file system
更改目录:
cd xx
pwd (查看当前目录)
新建目录:
mkdir xx
删除目录:
delete/force(不再询问确认)/recursive(删除目录下的子目录和文件)
如果是flash: (整个flash),如果是目录,则是整个目录。
不可恢复。
copy,还是复制。
创建一个tar文件:
archive tar/creat x…(目的) x…(源)
查看一个tar包含的文件:
archive tar/table xxx.tar
解压缩一个tar文件:
archive tar/xtract xxx.tar flash: (解压缩整个tar,只能解到当前flash)
archive tar/xtract xxx.tar flash:/xxxxx (指定解压缩整个tar,或其中某个文件,目录)
查看一个可读文件的内容:
more xxx (可以是远程的,如TFTP)
配置文件:
Switch# copy t system:running-config (多了个system)
Switch# copy system:running-config t (多了个system)

cisco.com上提供的ios为tar格式。包含的文件见文档。
升级IOS文件:
archive download-sw/overwrite(覆盖原IOS)/reload(重启)
或者
archive download-sw/leave-old-sw(保留原IOS)/reload(重启)
download时会有算法来验证新IOS是否适合当前模块和内存,否则会报错。
如查选用/overwrite,不管down的IOS是否与现在相同,都会被删除。
download完成后,会自动将boot参数指向新IOS。
(文档虽然没讲,但是我想,有足够flash空间的情况下,还是不要覆盖原IOS,传完再删)
上传IOS文件:
archive upload-sw
上传算法会自动把多个系统文件生成为.tar ,并上传。
(详细系统组成文件见文档937页):info, the Cisco IOS image, and the web management files.
IOS恢复参见文档里的Troubleshooting部分

处理以tar结尾的Cisco IOS文件

一般Cisco IOS文件是以bin结尾的,我们只要将其上传,并更改引导配置,指向新上传的文件,Cisco设备就会以这个新的IOS文件来引导。我们升级IOS的目的也就达到。但现在Cisco出了一种以TAR结尾的IOS文件,它的处理方法与以前有所不同。

升级IOS文件:
archive download-sw/overwrite(覆盖原IOS)/reload(重启) ftp://x.x.x.x/x.tar
或者
archive download-sw/leave-old-sw(保留原IOS)/reload(重启) ftp://x.x.x.x/x.tar
download时会有算法来验证新IOS是否适合当前模块和内存,否则会报错。
如查选用/overwrite,不管down的IOS是否与现在相同,都会被删除。
download完成后,会自动将boot参数指向新IOS。
(文档虽然没讲,但是我想,有足够flash空间的情况下,还是不要覆盖原IOS,传完再删
上传IOS文件:archive upload-sw ftp://x.x.x.x/x.tar
上传算法会自动把多个系统文件生成为.tar ,并上传。
文件内一般会包含:info, the Cisco IOS image, and the web management files.

附:
Cisco IOS常用的其它命令:
创建一个tar文件:archive tar/creat x…(目的) x…(源)
查看一个tar包含的文件:archive tar/table xxx.tar
解压缩一个tar文件:archive tar/xtract xxx.tar flash: (解压缩整个tar,只能解到当前flash)
archive tar/xtract xxx.tar flash:/xxxxx (指定解压缩整个tar,或其中某个文件,目录)
查看文件系统,默认是flash.dir all (flash: )
show file system
更改目录:cd xx
查看当前目录pwd
新建目录:mkdir xx
删除目录:delete/force(不再询问确认)/recursive(删除目录下的子目录和文件)
如果是flash: (整个flash),如果是目录,则是整个目录。不可恢复。
复制copy
查看一个可读文件的内容:more xxx (可以是远程的,如TFTP)
配置文件:copy tftp running-config (多了个system)
copy running-config tftp:

proxmox下lxc容器虚拟机centos8更新后dns失效问题解决

2021年10月6日 没有评论

从pve 6.3之后版本基本以后都会对接centos8以上的版本了。
今天下载更新centos8后。肯定yum update -y更新版本了。
可更新之后重启系统,发现yum不能了。还以为什么问题ping一下域名也是一样。查了很多原因。没办法应该是dns哪里有问题了。只能手动更新一下。
解决办法如下:

手工修改 /etc/resolv.conf

修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:

1
2
3
[main]
#plugins=ifcfg-rh
dns=none

NetworkManager重载上面修改的配置,命令如下:

1
systemctl restart NetworkManager.service

手工修改 /etc/resolv.conf

1
2
nameserver 114.114.114.114
nameserver 8.8.8.8

然后重启一下系统看看是否存下来了。
/etc/resolv.conf重启后的文件如下:

1
2
3
4
# --- BEGIN PVE ---
search vps12.com
nameserver 114.114.114.114
# --- END PVE ---

linux登录windows服务器图形桌面

2021年10月3日 没有评论

安装rdesktop工具

sudo apt-get install rdesktop

启动rdesktop

rdesktop 192.168.1.2 -f #-f为全屏显示

退出rdesktop全屏

ctrl+alt+enter

自定义分辨率进入windows服务器

rdesktop 192.168.1.2 -g 1660*1550

分类: Linux, 解决方案 标签: ,

Signature from server’s host key is invalid

2021年9月10日 没有评论

用putty连接ssh的华为交换机,提示Signature from server’s host key is invalid

这里需要把putty默认的connection>ssh>host keys里的RSA置顶

分类: Linux, 解决方案 标签:

解决:no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

2021年8月14日 没有评论

第一种方法,在当前用户的.ssh目录下新建config文件,如当前用户为root

vi ~/.ssh/config
Host *
KexAlgorithms +diffie-hellman-group1-sha1
此方法只对当前用户生效,使用其他用户是又会报错。

第二种方法,修改/etc/ssh/ssh_config文件,在最末尾加入即可。

KexAlgorithms +diffie-hellman-group1-sha1

分类: Linux, 解决方案 标签: , ,

centos7 升级openssh到openssh-8.6p1版本(转)

2021年8月3日 没有评论

时不时这个ssh都会暴一些这漏洞那漏洞好烦。今天给出centos7一个快速升级ssh8.6的脚本。转网上大牛,亲测,有效。

运行之前,查一下目前版本:

1
2
[root@localhost ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

把如下shell脚本添加到文件中,之后运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#!/bin/bash
 
if [ ! -d /home/data ];then
      mkdir /home/data
fi
cd /home/data
yum update -y
yum install wget -y
 
wget -O openssh-8.6p1.tar.gz https://ftp.riken.jp/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
wget -O zlib-1.2.11.tar.gz https://zlib.net/zlib-1.2.11.tar.gz
wget -O openssl-1.1.1j.tar.gz https://www.openssl.org/source/openssl-1.1.1j.tar.gz
######保证下载的文件在/home/data里,且文件名相同
tar -zxf openssl-1.1.1j.tar.gz
tar -zxf zlib-1.2.11.tar.gz
tar -zxf openssh-8.6p1.tar.gz
chown -R root:root /home/data
#######################0end----------############################
 
##1---配置Telnet,以防SSH配置过程中出现问题,可以使用Telnet登录----
setenforce 0                      
#关闭selinux
systemctl stop firewalld         
#关闭
systemctl disable firewalld
 
yum install telnet telnet-server xinetd -y
#vi /etc/xinetd.conf                   
#修改disabled = no  ,即可以使用telnet服务
cp /etc/xinetd.conf   /home/data/xinetd.comfbk
sed -i '14a      disabled = no ' /etc/xinetd.conf          
#在第14行增加 disabled = no
echo -e 'pts/0\npts/1\npts/2\npts/3'  >>/etc/securetty
 
systemctl start telnet.socket  #开启服务
systemctl start xinetd        #开启服务
systemctl enable telnet.socket   #开机自起服务
systemctl enable xinetd
##1end---------------------------------------------------------------
 
##2 升级 OpenZlib-----------------------------------------
 
yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
yum install  -y pam* zlib*
 
 
cd /home/data/zlib-1.2.11/
./configure --prefix=/usr/local/zlib
make && make install
##2end---------------------
 
##3升级openssl-------------
cd /home/data/openssl-1.1.1j/
./config --prefix=/usr/local/openssl -d shared
make && make install 
echo '/usr/local/openssl/lib' >> /etc/ld.so.conf
ldconfig
mv /usr/bin/openssl /home/data/opensslbk
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
 
##3end--and start update SSH------------------------
 
##4-----安装OpenSSH 8.6p1-------
cd /home/data/openssh-8.6p1/
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib
 make && make install
 
mv /etc/ssh/sshd_config /home/data/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /home/data/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /home/data/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /home/data/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /home/data/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
 
for  i   in  $(rpm  -qa  |grep  openssh);do  rpm  -e  $i  --nodeps ;done
 
#mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config
mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config
 
 
cp /home/data/openssh-8.6p1/contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x   /etc/init.d/sshd
#-------------修改配置文件------------
cp /etc/init.d/sshd /home/data/sshdnewbk
sed -i '/SSHD=/c\SSHD=\/usr\/local\/openssh\/sbin\/sshd'  /etc/init.d/sshd
sed -i '/\/usr\/bin\/ssh-keygen/c\         \/usr\/local\/openssh\/bin\/ssh-keygen -A'  /etc/init.d/sshd
sed -i '/ssh_host_rsa_key.pub/i\                \/sbin\/restorecon \/etc\/ssh\/ssh_host_key.pub'  /etc/init.d/sshd  
sed -i '/$SSHD $OPTIONS && success || failure/i\       \ OPTIONS="-f /etc/ssh/sshd_config"' /etc/rc.d/init.d/sshd
#---------操作sshd_config-------
sed -i '/PasswordAuthentication/c\PasswordAuthentication yes' /etc/ssh/sshd_config
sed -i '/X11Forwarding/c\X11Forwarding yes' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
 
cp -arp /usr/local/openssh/bin/* /usr/bin/
service sshd restart
 
##3end------------------------------------------
 
 
#----------配置开机项---------------
chkconfig --add sshd
chkconfig --level 2345 sshd on
chkconfig --list
#----------关闭Telnet服务--------------- 
systemctl stop telnet.socket  
systemctl stop xinetd
systemctl disable xinetd.service
systemctl disable telnet.socket
 
#--------清理安装过程文件---------------------
rm -fr /home/data

运行完成后,运行一下ssh -V查一下是否最新版本。

1
2
[root@localhost ~]# ssh -V
OpenSSH_8.6p1, OpenSSL 1.1.1j  16 Feb 2021
分类: Linux, 网络产品 标签: , ,

centos java环境安装

2021年7月10日 没有评论

比较容易的就一条命令

1
yum install -y java-1.8.0-openjdk.x86_64

ps:
docker 安装java

1
docker pull java
分类: Linux 标签: ,

自建用于bzz的geth(swap-endpoint)RPC(linux、windows详细部署步骤)

2021年6月7日 没有评论

最近由于以太坊很火,很多朋友需求自己架设自己的rpc服务。这里给出两个方案,一个是linux一个是win的。

初自建geth(endpoint)用于保证Swarm挖矿持续不中断为了更好的服务自己。为什么自建RPC?
自建geth的好处:
1、不受官方服务器限制、保证多节点24*7连接性;
2、自建geth没有任何限制,可以多节点共用一台;
3、bee0.6.x以上版本连接请求过快,官方免费rpc满足不了。

Linux推荐使用系统:Ubuntu18.04(centos要下载软件部署)
安装git

1
2
3
4
apt-get install software-properties-common -y
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt-get update -y
sudo apt-get install git -y

查看是否安装成功

1
git --version

有显示版本号就是安装成功。
安装geth

1
2
3
4
sudo apt-get install software-properties-common -y
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update -y
sudo apt-get install ethereum -y

查看geth是否安装成功

1
geth --help

有信息反馈就是OK
安装screen让rpc在screen里面运行

1
apt-get install screen -y

创建一个叫geth的screen

1
screen -S geth

在screen里面运行启动命令

1
geth --cache=2048 --goerli --rpc --rpcaddr 0.0.0.0 --rpcport=8545 --rpcvhosts=* --rpcapi='eth,net,rpc'

等着他同步完成就可以了。
查看

1
screen -r geth

同步中的状态

Linux centos7/8
1. 下载go-ethereum

1
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.3-991384a7.tar.gz

2. 解压 go-ethereum

1
tar -zxvf geth-linux-amd64-1.10.3-991384a7.tar.gz

3. 安装 go-ethereum

1
cp geth-linux-amd64-1.10.3-991384a7/geth /usr/bin/

三、运行go-ethereum

1. 启动一个名为geth的后台

1
screen -R geth

输入上面的命令后,按两次回车会新建一个后台。

2. 查看本机本地ip

1
ip address

3. 运行go-ethereum

1
geth --goerli --http --http.addr=1.1.1.1 --datadir /home/gethdata

#1.1.1.1换成自己ip
#–datadir /www/gethdata 指定存文件目录

注意: ip 需要使用第二步取得的ip取代

Ctrl+a+d退出 这玩意显示有点毛病

4. 检测go-ethereum 是否成功安装

1
lsof -i:8545

如果输出不为空,类似下图:

你已成功安装自己的go-ethereum 节点!不过还需要几个小时来等待它同步区块。

四、使用go-ethereum

在swarm节点上,更改配置文件的swap-endpoint字段:

swap-endpoint: http://1.1.1.1:8545 (1.1.1.1换成自己ip)
在你的SwarmBee的yaml配置文件里面修改好然后保存重启bee即可
如果你的Geth未同步完区块高度的话,则Bee会在Geth同步完后开始工作。

windows安装2012/2016/2019
这个就容易的多。直接去主网上下载。https://geth.ethereum.org/downloads/

1.下载https://geth.ethereum.org/downloads/
2.双击安装
3.geth.exe –goerli –http –http.addr=1.1.1.1 –datadir d:\gethdata
(自己建立一个放文件的gethdata)这个步骤不说明了。

利用Figlet工具创建酷炫VPS登入欢迎界面(转)

2021年5月3日 没有评论

有些时候我们在购买一些商家VPS服务器登入SSH后会看到商家自定义的欢迎界面,看着还感觉有点酷炫效果的。如果我们在自己管理和玩转的VPS、服务器中希望自定义比较个性的登入欢迎界面,可以利用Figlet工具进行设置,给我们闲暇且无聊的折腾过程一点点乐趣。

第一、Figlet工具的安装

wget ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-2.2.5.tar.gz
cp figlet-2.2.5.tar.gz /usr/local/src/
cd /usr/local/src/
tar -zxvf figlet-2.2.5.tar.gz
cd figlet*
make figlet

因为我们需要生成需要的特定字符,所以需要在当前服务器中安装Figlet,默认没有安装包的,其实如果我们也只要在一台环境中安装,然后需要什么字符只要复制到需要的服务器中,并不需要所有都安装。同样的,我们也可以利用此生成的字符用到脚本运行的开始起头部分,用ECHO分行标注就可以。

这里需要补充一点,我们可能没有安装GCC,所以在执行make安装的时候会提示有”make: gcc: Command not found”错误,这里我们需要执行:

yum -y install gcc automake autoconf libtool make

常用的组件包。

Figlet工具的安装

如果没有错误,则会看到下面的成功安装界面。

Figlet工具的安装

第二、Figlet工具生成字符

./figlet LAOZUO.ORG -f fonts/standard.flf

这里我们需要用Figlet生成需要的字符,然后才可以用到我们的开机还原界面中。根据上述的脚本,换成我们自己的字符。以及我们可以用其他的字体。

字体:http://www.figlet.org/fontdb.cgi

Figlet工具生成字符

这里我用了一个3-d.flf字体的效果。具体我们可以根据不同的字体看看效果。这里老左就不多说了。

第三、添加登入欢迎界面

1、复制我们上面的字符

2、vi /etc/ssh/ssh-banner

添加到ssh-banner中。

3、设定Banner none

vi /etc/ssh/sshd_config

找到#Banner none一行,然后添加:

Banner /etc/ssh/ssh-banner

设定Banner none

然后保存退出。

4、重启SSH

/etc/init.d/sshd restart

最后,我们再退出当前SSH,然后重新登入。就可以看到这篇文章第一个图片的效果。Figlet生成字符然后添加登入界面完全是自己的折腾,看着登入界面和别人不同而已。

解决yum 出错:error: rpmdb: BDB0113 Thread/process 8173/139681223043136 failed: BDB1507

2021年4月6日 没有评论

s使用Ctrl+c 或者 Ctrl + z 或者 kill 或者其他原因 结束掉了yum进程,当再次执行yum的相关操作时报错:
错误:rpmdb: BDB0113 Thread/process 15381/140029102753600 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 – (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed

原因:rpm数据库在强制结束yum进程时被破坏了
解决办法:重新构建即可,步骤如下:
1、cd /var/lib/rpm
2、rm __db.* -rf #删除所有rpm库
3、rpm –rebuilddb #rpm的重新构建命令
4、yum clean all #用yum clean all清除
5、yum grouplist #用yum grouplist 命令测试yum,并进行相关更新

分类: Linux, 解决方案 标签: ,