目录
Centos与Unbuntu
1.在使用中碰见大大小小的问题,记录一下,首先Centos和Unbuntu不一样!!!
Centos用的是yum安装更新软件,而Unbuntu用的是apt-get,在这个上面我花费的大量的时间去安装yum,而且一直版本不兼容。
Shell脚本中的if注意事项
首先,if功能还是一样的,但是要注意格式,if和中括号要一个空格,中括号跟表达式之间前后各一个空格!
if [ 表达式 ]
同时在进行数据对比的时候要养成好习惯字符串变量要加双引号,或者执行某些模糊查询的时候也是,同时进行字符串对比中间一定不能跟二元运算符堆一起。
正确格式:
if [ "$userScanner" == "Y" ]
错误示范:
if [$userScanner=="n"]
Shell中关于命令执行返回值
在判断命令是否执行成功这里。成功了返回0,没成功返回非0数,但是我看有的代码会接&&或者||来进行输出,也是可以的。
例子:
find / -name "yum-*" | grep yum-corn && echo "我找到了" || echo "我没找到"
或者我们接返回值判断一下
find / -name "yum*"
if [ "$?" -eq 0 ]
then
echo "找到了"
else
echo "没找到"
fi
看个人喜好吧。
主机间的相互免密钥
如果两台服务器想免密钥登录的话,则需要将公钥存到被登录主机上,而到时登录用私钥加密就可以登录了.
1.生成公钥和私钥
2.将公钥发送到登录服务器的root路径下的.ssh/下 的authorized_keys文件中.
方法:
如果是第一次建立连接,首先生成密钥
在服务器上生成公私钥: ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
将生成的公钥发送给目标服务器,密钥要放在~/.ssh.authorized_keys中
使用: ssh-copy-id -i ~/.ssh/id_rsa.pub root@主机名
然后输入对方服务器密码就行了.
3.发送完毕! 免密钥登录只要: ssh 目标主机IP
就可以直接登录了
当然我们也可以使用在本地配置的DNS信息去登录,但是可能有点小问题.
ssh nodeIp :如果本地DNS缓存了该配置的IP也可以登录,但是会要输入yes确定登录.
解决需要输入yes问题,直接登录:
本次不要输入yes: ssh -v -o GSSAPIAuthentication=no 主机名
永久不用输入:
修改/etc/ssh/ssh_config文件的配置
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
改完后,再次确认的问题就解决了.