服务器配完ubuntu系统以及LNMP环境以后,想用WINSCP远程登录,就需要开启SSH服务才能支持。
SSH服务分为客户端和服务器。顾名思义,我想用WINSCP远程登录Ubuntu服务器,所以需要安装SSH server。
OK,下面介绍如何开启SSH服务。
一、检查是否开启SSH服务
因为Ubuntu默认是不安装SSH服务的,所以在安装之前可以查看目前系统是否安装,通过以下命令:
ps -e|grep ssh
输出的结果ssh-agent表示ssh-client启动,sshd表示ssh-server启动。我们是需要安装服务端所以应该看是否有sshd,如果没有则说明没有安装。
二、安装SSH服务
#客户端
sudo apt-get install openssh-client
#服务器
sudo apt-get install openssh-server
或者
apt-get install ssh
三、启动SSH服务
sudo /etc/init.d/ssh start
四、修改SSH配置文件
可以通过SSH配置文件更改包括端口、是否允许root登录等设置,配置文件位置:
/etc/ssh/sshd_config
默认是不允许root远程登录的,可以再配置文件开启。
sudo vim /etc/ssh/sshd_config
找到PermitRootLogin without-password 修改为PermitRootLogin yes
五、重启SSH服务
service ssh restart
即可通过winscp 、putty使用ROOT权限远程登录。
启用root用户:sudo passwd root //修改密码后就启用了。
客户端如果是ubuntu的话,则已经安装好ssh client,可以用下面的命令连接远程服务器。
查看磁盘使用情况,df -h
ubuntu常常会被“锁住”,例如执行apt-get install nano,被锁住,怎么办?
一种办法是查看进程,杀掉那个进程
还有一种办法就是,直接删掉那个锁。
关闭和开启防火墙
ufw disable #关闭并永久关闭
ufw enable
查看防火墙状态
ufw status
卸载iptables
apt-get remove iptables
ubuntu系统默认没有selinux功能,也不要主动去安装。
关闭交换分区
nano /etc/fstab
注释掉下面一行
#UUID=a0d94697-7fe7-43a7-98ec-1b8966db5e3d none swap sw 0 0
ubuntu安装docker,x86架构
docker 禁止被美国实体清单的组织和个人使用
由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置stable存储库:
其实是向/etc/apt/source.list中添加一个源链接,看到amd64就知道,这是一个x86的源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下apt包索引:
sudo apt-get update
安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
查看docker服务是否启动:
systemctl status docker
若未启动,则启动docker服务:
sudo systemctl start docker
经典的hello world:
sudo docker run hello-world
ubuntu非常区分硬件架构,有amd64,arm64,armhf等等。一旦选错源,则安装失败。
而ubuntu上安装docker则没有centos上面那么方便,
使用阿里云的docker源进行安装的话要添加对应源的密钥,docker官方的要对应官方的密钥,选择不同的源安装密钥不一样的。
再比如arm64的ubuntu系统安装docker
1、先卸载可能存在的旧版本:
apt remove docker docker-engine docker-ce docker.io
2、更新apt包索引:
apt update
3、安装以下包以使apt可以通过HTTPS使用存储库:
apt install -y apt-transport-https ca-certificates curl software-properties-common
4、添加docker的密钥:
使用阿里云的docker源进行安装的话要添加对应源的密钥,docker官方的要对应官方的密钥,选择不同的源安装密钥不一样的
阿里云:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
国外官方docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
通过上面可以看出,对于不同的源只能网址里面的域名变化了,同样可以使用其他的源,比如网易、中科大等
5、在ubuntu的系统源中添加对应的docker源
ubuntu的系统源文件位置位于/etc/apt/sources.list
add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
其中$(lsb_release -cs)是个系统函数,可以自动获取当前ubuntu系统的版本,arm64对应的cpu的版本,我的主板是arm的,如果是电脑或者服务器注意是安装 amd64的,需要把arm64替换成amd64
同理第四步,添加docker镜像源的时候,网址里面的域名也要看选择哪个源而变化的,上面举例的是docker官方的
也可以使用阿里的源添加进去
6、再次更新 apt 包索引:
apt update
7、安装最新版本的Docker CE:
apt install docker-ce
如果第7步安装出现404或者没有找到包的情况,说明在第五步的时候镜像源配置出错,或者是当前的镜像源没有同步到最新的版本,考虑换一个,如果是用官方的话,是最稳的,没有同步的情况,就是慢了一点
8、验证docker
systemctl status docker
最稳妥的办法,使用阿里的执行脚本安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
k8s重启报错 :The connection to the server 192.168.102.149:6443 was refused故障解决
现在,k8s重启报错:
kubectl get pods
The connection to the server xxx:6443 was refused - did you specify the right host or port?
问题排查
根据报错描述,连接kubelet的6443端口被拒绝:
查看该端口状态
显示端口未启动起来
ss -antulp | grep :6443
该端口是kubelet的api监听端口,应该是kubelet启动失败,尝试重启,查看kubelet状态,果然启动失败,分析日志
systemctl status kubelet
journalctl -xefu kubelet
有可能是部分组件启动失败,查看容器状态,发现组件都没有启动起来,重启docker以及相关容器,报错
反复执行下面这句
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
根据错误描述,是docker配置文件配置驱动配置错误造成的,可以直接注释掉,重启docker,重启kubelet(不要手动重启容器,因为容器之间有启动顺序,如果自己不清楚,不建议手动重启)