Ubuntu初始化设置
1.1 选购服务器
Recommand sites for free server:
for one year: 1核-1G内存-中低网速
https://aws.amazon.com/cn/ [only for new]
[t2.micro (- ECU, 1 vCPU, 2.5 GHz, -, 1 GiB 内存, 仅限于 EBS)]
for one month:
https://www.aliyun.com/
云服务器突发性能型 t5 - 1H-1G-1~5M-40G[only for new]
云服务器共享型 s6 - 2H-4G-1~5M-40G for one week[only for new]
1.2 选择系统-Ubuntu
在系统界面选择 Ubuntu (recommand v20.04)
安装
密码与安全一般会有两个选择:
– ssh_rsa 密钥在创建后需要下载私钥到本地,详细见2.1.2 ssh config
– 请记住密码,如果忘记就只能重装系统(注: 在没有其他sudoer用户的情况下)
1.3 配置网卡和ip
值得注意的是一般付费服务器的网络选项,在对网络要求不大的情况下可以选择按流量计费,以获得更高的速度。
在实例创建成功后,进入控制台,在基本信息处可以看到服务器ip地址
2.1 进入系统与ssh
打开终端或其他客户端
终端链接方法:
ssh root@【你的ip填在这里】
回车
hint:如果是第一次链接输入‘yes’同意建立陌生的链接
输入你刚刚设置的密码
等待链接
ssh root@【你的ip填在这里】-i 【你的密钥本地地址】
回车
hint:如果是第一次链接输入‘yes’同意建立陌生的链接
等待链接
————————————————————————————————
hint:出现以下界面就说明链接成功
—-----------------
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-147-generic x86_64)
Welcome to Alibaba Cloud Elastic Compute Service !
Last login: Fri Jul 30 14:09:38 2021 from ...
(base) root@hostname:~#
—-----------------
– putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/
– reference: https://www.runoob.com/linux/linux-remote-login.html
– termius: https://www.termius.com/
– Xshell: https://www.netsarang.com/en/xshell/
– FinalShell: https://www.hostbuf.com/
– 特别靠谱的使用方法(不推荐):
其他客户端的方法可以按照教程来做
2.1.1 ssh 语法
ssh username@ipaddr -i Identity -p port
部分man说明:
NAME
ssh – OpenSSH SSH client (remote login program)
SYNOPSIS
ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J destination] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]] destination [command]
DESCRIPTION
ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to provide secure encrypted communications
between two untrusted hosts over an insecure network. X11 connections, arbitrary TCP ports and UNIX-domain sockets can also be forwarded over the secure channel.
ssh connects and logs into the specified destination, which may be specified as either [user@]hostname or a URI of the form ssh://[user@]hostname[:port]. The user must
prove his/her identity to the remote machine using one of several methods (see below).
If a command is specified, it is executed on the remote host instead of a login shell.
The options are as follows:
-4 Forces ssh to use IPv4 addresses only.
-6 Forces ssh to use IPv6 addresses only.
-B bind_interface
Bind to the address of bind_interface before attempting to connect to the destination host. This is only useful on systems with more than one address.
-b bind_address
Use bind_address on the local machine as the source address of the connection. Only useful on systems with more than one address.
-E log_file
Append debug logs to log_file instead of standard error.
-i identity_file
Selects a file from which the identity (private key) for public key authentication is read. The default is ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and
~/.ssh/id_rsa. Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple -i options (and multiple iden-
tities specified in configuration files). If no certificates have been explicitly specified by the CertificateFile directive, ssh will also try to load certificate
information from the filename obtained by appending -cert.pub to identity filenames.
-l login_name
Specifies the user to log in as on the remote machine. This also may be specified on a per-host basis in the configuration file.
-p port
Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file.
-q Quiet mode. Causes most warning and diagnostic messages to be suppressed.
2.1.2 ssh config
建立config后再也不用每次都加 -i 了。
nano 在~/.ssh/下新建config文件
格式:
nano ~/.ssh/config
input:
Host nickname_or_ipaddr
HostName ipaddr
User login_username
IdentityFile rsa_key
Host nickname_or_ipaddr
…
2.2 系统维护与更新
2.2.1 系统更新
检查更新与安装
apt update && apt upgrade
2.2.2 系统维护
apt 换源
Ubuntu 更换 apt 源为阿里云
1、复制原文件备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、编辑源列表文件
sudo vim /etc/apt/sources.list
3、将原来的列表删除,添加如下内容
阿里云的源
deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
ubuntu的源, 最好也加上,避免某些库下载不到
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
4、运行
sudo apt-get update && apt-get upgrade
作者:大富帅, 链接:https://www.jianshu.com/p/fb337765c2c2
来源:简书,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2.2.3 密码改密钥
通常的来说,我们会使用 ssh user@host -p port这个命令,之后输入密码来登录服务器,才能ssh登录到服务器进行操作。如果一天需要登录很多遍服务器,就会输入很多次密码,偷懒的我当然不愿意这么干。而今天我们就要偷懒的进行免密码登录服务器的操作。
Unix系的操作系统提供了各种ssh支持,我们可以通过这些来实现ssh登录。
首先我们要在我们的mac上电脑上生成公钥和私钥,在终端中输入以下命令:
cd ~/.ssh
首先进入~/.ssh目录,之后:
ssh-keygen -t rsa
之后就可以一路回车,一般都不设置密码,即可在~/.ssh目录中生成私钥文件(id_rsa)和公钥文件(id_rsa.pub)。如果熟悉git ssh-key配置的朋友,可能已经很熟悉这个步骤了,所以我们只要把公钥上传到我们的服务器的~/.ssh目录就好了。
所以我们可以用接下来的命令上传我们的公钥文件:
scp ~/.ssh/id_rsa.pub ssh [email protected] -p 2222:~/.ssh/
接下来我们登录到服务器中,将~/.ssh目录下的id_rsa.pub文件改名为authorized_keys:
mv id_rsa.pub authorized_keys
接着修改文件权限
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
现在,我们就可以正常的在mac 终端中使用ssh来登录服务器了,无需输入密码。
我们可以在bash_profile中设置一个alias,更能方便登录服务器的操作。
2.2.3.1 简单的ssh密钥安装
先在本地.ssh文件夹下生成密钥
ssh-keygen -t rsa
然后运行
ssh-copy-id user@target_ip
安装一份密钥到服务器
输入密码
建立ssh链接
完成
(此方法只在mac上验证过,windows我不知道)
2.2.4 添加用户
1、创建新用户
sudo adduser username
其中username是你要创建的用户的名字,然后设置密码还有相关信息就可以了
2、赋予新用户sudo权限
用adduser创建后的新用户是不能使用sudo的,因为还没有赋予相关root权限,执行以下代码赋予权限
sudo usermod -a -G adm username
sudo usermod -a -G sudo username
3、删除用户
当需要删除用户时可以使用以下指令
sudo userdel -r username
这个指令会删除用户username并把该用户下的所有文件(/home/username/路径下的所有文件)都删除,若要保留这些文件而仅仅删除用户,可使用以下指令
sudo userdel username
ps:(可查看/etc/group文件来查看各用户组情况)
————————————————
版权声明:本文为CSDN博主「acelove40」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/acelove40/article/details/54343629
Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
语法
chmod [-cfvR] [–help] [–version] mode file…
for mode 其中:
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明:
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
link to chmod : https://www.runoob.com/linux/linux-comm-chmod.html
常用命令剪切板:
chmod a+X name
chmod
Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。
Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。 。
chown 需要超级用户 root 的权限才能执行此命令。
只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。
使用权限 : root
link to chown : https://www.runoob.com/linux/linux-comm-chown.html
linux: https://www.runoob.com/linux/linux-tutorial.html
转到 https://docs.conda.io/en/latest/miniconda.html 选择最新的Miniconda右键复制最新的
然后使用 Wget 命令获取最新的.sh 文件
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.sh
sh Miniconda3-py38_4.10.3-Linux-x86_64.sh
【可能名字会有一点点变化。】
出现如下提示:
然后就无脑按Enter
它会在你目前的目录安装
然后执行,进行初始化:
conda init
最后重启ssh连接
就出现
有"(base)"就说明安装成功了
conda install jupyter notebook
jupyter notebook --generate-config
jupyter notebook password
cd ~/.jupyter/
编辑jupyter_notebook_config.py
将其中的
# Set options for ip, and toggle off
# browser auto-opening
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 8888
记得,要在防火墙上打开你设置的对用端口
例如
sudo ufw allow 8888
linux help: https://www.runoob.com/linux/linux-tutorial.html
linux command: https://www.runoob.com/linux/linux-command-manual.html
chmod : https://www.runoob.com/linux/linux-comm-chmod.html
chown : https://www.runoob.com/linux/linux-comm-chown.html
jupyter help: https://jupyter-notebook.readthedocs.io/en/latest/index.html