who
who 命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等
- 语法: who - [husfV] [user]
- 参数说明:
| 命令 | 描述 |
| —- | —- |
| -H —heading | 显示各栏位的标题信息列 |
| -i -u —idle | 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成”.”号,如果该用户已超过24小时没有任何动作,则标示出”old”字符串 |
| -m | 此参数的效果和指定”am i”字符串相同 |
| -q —count | 只显示登入系统的帐号名称和总人数 |
| -s | 此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题 |
| -w
-T
—mesg
—message
—writable | 显示用户的信息状态栏 | | —help | 在线帮助 | | —version | 显示版本信息 |
which
which 命令可以查看执行命令所在位置
[root@iZedbi0f3jvy9lZ ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@iZedbi0f3jvy9lZ ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@iZedbi0f3jvy9lZ ~]# which python
/usr/bin/which: no python in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@iZedbi0f3jvy9lZ ~]# which useradd
/usr/sbin/useradd
用户和用户组管理
用户和用户组概念
用户和用户组在Linux系统中是非常重要的,作为系统的超级管理员root,理应把当前操作系统中的用户和用户组管理好。原因很简单,如果连用户和用户组都管理不好,又要如何管理整台服务器呢
用户 使用操作系统的人
用户组 具有相同系统权限的一组用户
家目录 也称主目录,是用户在登录系统后默认进入的目录,并且用户的主目录权限归该用户所有
cat /etc/group 存储当前系统中所有用户组信息
该文件内容的每一行代表一个用户组,每个用户组信息格式固定,信息说明如图
- root用户组组编号固定为0
- 组密码占位符全部用x替代
- 组编码1-499属于系统预留的编号,一般预留给安装在该系统上的软件或服务使用的。越早安装的软件或服务分配的组编号越小,一般把未被非配的最小组编号分配给安装的软件或服务。
- 用户手动创建的用户组编号从500开始,一般分配的是大于等于500并且未被使用的最小组号
- 组中用户名列表为空代表可能没有用户或者只有一个用户且该用户名和组名称一致
cat /etc/gshadow 存储当前系统中用户组的密码信息
gshadow 配置文件的行数与 group 文件相同,并且每行与group每一行相对应。每行内容说明如图
- 组密码如果是空或者感叹号或者 *,说明组没有密码
- 组管理者为空,说明组的每一个成员都可以管理该组
cat /etc/shadow 存储当前系统中所有用户的密码信息
shadow配置文件的行数与passwd文件相同,并且每行与passwd每一行相对应。每行内容说明如图
- 用户密码一般是被一种单向加密的算法加密,无法直接看出原始密码是什么。
- 除了用户名和密码外,内容还包括用户的创建时间,用户信息上一次被修改的时间等等,没必要深究
关于密码占位符的说明
在早期的linux系统中,只有group和passwd两个文件,用户和用户组密码是显示在密码占位符中的。
在后续的Linux版本发展中,发现了一个问题,由于系统在运行中group和passwd这两个文件经常需要被读取,以便用来判断用户属于哪个用户组等等问题,所以这两个文件的权限不能设置的太苛刻,而密码又属于敏感数据,所以这样做似乎又不安全。
所以单独使用两个文件用来保存用户密码和用户组密码,于是就有了shadow和gshadow这两个配置文件
超级用户
Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限 在大多数版本的 Linux中,都不推荐直接使用root账号登录系统 在Lnux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为标准用户 sudo用来以其他身份执行命令,预设身份为 su 是 substitute user的缩写,表示使用另一个用户的身份 ```bash
切换git用户
su - git
s切换回root用户
su
su -
<a name="hpCqY"></a>
#### 用户管理
| 命令 | | | 作用说明 | | | |
| --- | --- | --- | --- | --- | --- | --- |
| useradd [-params] 用户名 | | | 创建用户<br />无参数 会创建与用户名同名的组,并且默认在/home目录下创建与用户名同名的目录作为该用户主目录<br />-g 组名 创建用户并且指定用户组<br />-d 用户主目录 创建用户并指定用户主目录<br />-r 创建系统用户(不常用),不会自动创建用户主目录,并且uid和gid使用系统空闲编号<br />-s xxx 创建用户并指定用户登录后所使用的shell,如果xxx值为<br />/sbin/nologin或者/bin/false时,表示禁止该用户登录<br />登录说明useradd -s /bin/false是最严格的禁止登录,一切服务都不能用<br />useradd -s /sbin/nologin 只是不允许进行系统登录,可以使用其他ftp等服务<br />touch /etc/nologin 执行该命令会禁止(除了root用户以外)其他用户登录服务器;只要是创建该文件即可,应用场景比如服务器维护时需要暂时禁止普通用户登录 | | | |
| passwd [-params] 用户名 | | | **设置用户密码**如果是普通用户,可以直接用passwd修改自己的账户密码<br />-l 锁定用户<br />-u 解锁用户<br />-d 清楚用户密码 | | | |
| usermod [-params] 用户名<br />usermod<br /> [-LU]<br />[-c <备注>]<br />[-d <登入目录>]<br />[-e <有效期限>]<br />[-f <缓冲天数>]<br />[-g <群组>]<br />[-G <群组>]<br />[-l <帐号名称>]<br />[-s <shell>][-u <uid>]<br />[用户帐号] | | | **设置用户的主组/附加组和登录Shell**<br />-c --comment 修改/etc/passwd文件第五段comment<br />-g --gid 修改用户的主组(passwd 中的 GID,改组一定存在<br /><br />-l --login 修改用户的登录名称<br /><br />-d --home 修改用户的家目录通常和-m选项一起使用<br />-m --move-home 修改用户的家目录通常和-d选项一起使用<br /><br />-a --append 把用户追加到某些组中,仅与-G选项一起使用<br />-G --groups 把用户追加到某些组中,仅与-a选项一起使用,使用着命令可以降维删除,比如<br />usermod -G kim kim<br /><br />-e --expiredate 指定用户帐号禁用的日期,格式YY-MM-DD<br />-f --inactive 用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1<br />-L --lock 锁定用户的密码<br />-s --shell 修改用户的shell<br />-u --uid 修改用户的uid,该uid必须唯一<br />-U --unlock 解锁用户的密码 <br /><br />修改用户登录 Shell<br />usermod -s /bin/bash 用户名<br /><br />新用户没有高亮,和前面没有路径怎么办?加上这句话<br />usermod -s /bin/bash kim<br /><br />修改用户的附加组,让他具有超级权限<br />usermod -G sudo kim | | | |
| id [用户名] | | | **查看用户的UID和GID信息** | | | |
| groups 用户名 | | | **显示该用户所属组**<br />不加用户名则默认当前用户 | | | |
| userdel [-params] 用户名 | | | **删除用户**无参数 删除用户,不删除用户的主目录<br />-r 选项会自动删除用户家目录 | | | |
| cat /etc/passwd | grep 用户名 | | | **查看用户信息**<br />新建用户后,用户信息会保存在/etc/ passwd文件中 | | | |
|  | | | | | | |
| 用户名 | 密码 | UID | GID | 用户全名 | 用户主目录 | Shell类型 |
| | x表示加密 | 用户标识 | 组标识 | 或者是本地帐号 | | 登录之后使用的终端命令 |
- /etc/passwd 是用于保存用户信息的文件
- /usr/bin/passwd 是用于修改用户密码的程序
<a name="IrU4o"></a>
#### 用户组管理
| 命令 | 作用 | |
| --- | --- | --- |
| cat /etc/group | **查看组信息** | |
| groupadd [-params] 组名<br />groupadd [-g gid [-o]] [-r] [-f] group | **添加组**<br />-g 组编号 创建用户组同时指定编号<br />-r创建系统工作组,系统工作组的组ID小于 500;<br />-K 覆盖配置文件 "/ect/login.defs";<br />-o 允许添加组 ID 号不唯一的工作组。<br />-f,--force 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。 | |
| groupmod -g 组编号 组名 | 修改用户组的组编号 | |
| groupmod -n 新组名 旧组名 | 修改用户组的组名 | |
| groupdel 组名 | 删除组 | |
| gpasswd [可选项] 组名 | **修改/设置用户组密码**<br />- -a:添加用户到组;<br />- -d:从组删除用户;<br />- -A:指定管理员;<br />- -M:指定组成员和-A的用途差不多;<br />- -r:删除密码;<br />- -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。<br /> | |
| chgrp -R 组名 文件/目录名 | 修改文件所在的组 | 递归修改文件权限<br />sudo chgrp -R dev python学习 |
<a name="0lrTz"></a>
##### 主要组和附属组
用户可以同时属于多个组,其中一个主要组,多个附属组<br />
| 命令 | 作用 |
| --- | --- |
| gpasswd -a 用户名 附属组1...<br /><br /> | 为用户添加附属组,多个附属组以逗号相隔<br /><br /> |
| newgrp 附属组<br /><br /> | 切换到附属组,需要输入组密码(该命令应该是本用户登录帐号才能切换自己的用户组) |
| gpasswd-d 用户名附属组 | 从附属组中删除用户 |
| useradd-g 主要组 -G 附属组1...… 用户名 | 创建用户同时指定主要组和附属组 |
<a name="UpGmO"></a>
#### 其他命令
| 命令 | 作用 |
| --- | --- |
| whoami | 显示当前用户名 |
| id 用户名 | 显示指定用户的信息,包括用户编码,用户名,组编号,组名<br />不加用户名则默认当前用户 |
| groups 用户名 | 显示该用户所属组<br />不加用户名则默认当前用户 |
| chfn 用户名 | 设置用户资料,依次输入用户资料不加用户名则默认当前用户 |
| finger 用户名 | 显示用户详细资料<br />不加用户名则默认当前用户 |
<a name="VlUXe"></a>
### chown命令
> 利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。 。
> 一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
> 使用权限 :root
> 语法: chown [-cfhvR] [--help] [--version] user[:group] file...
> **参数** :
> - user : 新的文件拥有者的使用者 ID
> - group : 新的文件拥有者的使用者组(group)
> - -c : 显示更改的部分的信息
> - -f : 忽略错误信息
> - -h :修复符号链接
> - -v : 显示详细的处理信息
> - -R : 处理指定目录以及其子目录下的所有文件
> - --help : 显示辅助说明
> - --version : 显示版本
```c
#将文件 file1.txt 的拥有者设为 kim ,群体的使用者 develop
chown kim:develop file1.txt
#将目前目录下的所有文件与子目录的拥有者皆设为 kim ,群体的使用者develop
chown -R kim:develop *
chmod 文件权限操作
语法: chmod [-cfvR] [—help] [—version] mode file…
参数说明
- mode : 权限设定字串,格式如下 :[ugoa…][[+-=][rwxX]…][,…]
- u 表示该文件的拥有者
- g 表示与该文件的拥有者属于同一个群体(group)者
- o 表示其他以外的人
- a 表示这三者皆是
- 表示增加权限
- 表示取消权限
- = 表示唯一设定权限。
- r 表示可读取
- w 表示可写入
- x 表示可执行
- X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
- —help : 显示辅助说明
- —version : 显示版本
文件权限操作实例
```c将文件 file.txt 设为所有人皆可读取
chmod ugo+r file.txt chmod a+r file1.txt
将文件 file1.txt 与 file2.txt
设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod ug+w,o-w file1.txt file2.txt
将ex1.py 设定为只有该文件拥有者可以执行
chmod u+x ex1.py
将目前目录下的所有文件与子目录皆设为任何人可读取
chmod -R a+r *
此外chmod也可以用数字来表示权限如:语法为:chmod ugo file
其中u,g,o各为一个数字,分别表示User、Group、及Other的权限
r=4,w=2,x=1
例如
chmod -R 777 file
•若要rwx属性则4+2+1=7 •若要rw-属性则4+2=6 •若要r-x属性则4+1=5
| 拥有者 | | | 组 | | | 其他 | | |
| :---: | :---: | :---: | --- | --- | --- | --- | --- | --- |
| r | w | x | r | w | x | r | w | x |
| 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
| | | | | | | | | |
| r | w | x | | | 数值 | | | 组合 |
| 4 | 2 | 1 | | | 7 | | | rwx |
| 4 | 2 | 0 | | | 6 | | | rw- |
| 4 | 0 | 1 | | | 5 | | | r-w |
| 4 | 0 | 0 | | | 4 | | | r-- |
| 0 | 2 | 1 | | | 3 | | | -wx |
| 0 | 2 | 0 | | | 2 | | | -w- |
| 0 | 0 | 1 | | | 1 | | | --x |
| 0 | 0 | 0 | | | 0 | | | --- |
| | | | | | | | | |
| chmod 777 filename = chmod a=rwx filename<br />chmod ug=rwx,o=x filename = chmod 771 filename<br />chmod 4755 filename = 具有root的权限<br /><br />777 = u=rwx,g=rwx,o=rwx<br />755 = u=rwx,g=rx,o=rx<br />644 = u=rw,g=r,o=r | | | | | | | | |
<a name="XnUee"></a>
#### 扩展
ls -l 可以查看文件夹下的文件详细信息<br />**
| 权限 | 硬链接数 | 拥有者 | 组 | 大小 | 时间 | 名称 |
| --- | --- | --- | --- | --- | --- | --- |
| d表示目录-表示文件 | 有多少种方式可以访问到当前目录/文件 | cd /home家路径下目录的拥有者通常都是当前用户 | | | | |
|  | | | | | | |
<a name="7Rn5w"></a>
### 添加ssh远程🔗的用户
<a name="RSQSC"></a>
#### 1. 使用root用户中添加新用户、并创建相应目录
```c
#添加用户
sudo useradd kim -d /home/kim
#设定sudo密码
sudo passwd kim
#创建目录及文件
sudo mkdir -p /home/kim/.ssh
sudo chown -R kim /home/kim/.ssh
sudo touch /home/kim/.ssh/authorized_keys
#修改权限
sudo chmod 700 /home/kim/.ssh
sudo chmod 700 /home/kim/.ssh/authorized_keys
2. 配置 sshd_config 文件
vim /etc/ssh/sshd_config 编辑完成重载配置文件 sudo service sshd restart
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
UseDNS no
AddressFamily inet
SyslogFacility AUTHPRIV
PermitRootLogin yes #许可登录
PasswordAuthentication yes #密码登陆
AllowUsers root kim new_user #增加ssh用户
#Port 22 #开放的端口
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# System-wide Crypto policy:
# This system is following system-wide crypto policy. The changes to
# Ciphers, MACs, KexAlgoritms and GSSAPIKexAlgorithsm will not have any
# effect here. They will be overridden by command-line options passed on
# the server start up.
# To opt out, uncomment a line with redefinition of CRYPTO_POLICY=
# variable in /etc/sysconfig/sshd to overwrite the policy.
# For more information, see manual page for update-crypto-policies(8).
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PermitEmptyPasswords no
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes
# GSSAPI options
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# and ChallengeResponseAuthentication to 'no'.
# WARNING: 'UsePAM no' is not supported in Fedora and may cause several
# problems.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
# It is recommended to use pam_motd in /etc/pam.d/sshd instead of PrintMotd,
# as it is more configurable and versatile than the built-in version.
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
3. 端口开启
systemctl restart firewalld
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=419/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
systemctl restart firewalld #注意:重启防火墙,80端口是必须要开放的
4. 使用新用户的公钥登录
#------------------ 需要配置免密登录客户端公钥的生成、获取 ---------------
ssh-keygen #ssh-keygen -t rsa -C "7533524@qq.com"
cat ~/.ssh/id_rsa.pub #获取新用户的公钥
#cat ~/.ssh/id_rsa #获取新用户的私钥
#----------------- 把其他电脑的公钥写入新用户的authorized_keys ------------------
su - kim
#方式1
vim /home/kim/.ssh/authorized_keys
#方式2
sudo sh -c 'cat <其他电脑的的公钥 ~/.ssh/id_rsa.pub> >> /home/kim/.ssh/authorized_keys'
#方式3
scp -p ~/.ssh/id_rsa.pub kim@119.23.72.172:/home/kim/.ssh/authorized_keys #将本地的公钥文件拷贝至远程服务器
#方式4
scp ~/.ssh/id_rsa.pub kim@119.23.72.172:pub_key #将文件拷贝至远程服务器
cat ~/pub_key >> ~/.ssh/authorized_keys #再追加内容
#检查确认
cat /home/kim/.ssh/authorized_keys
5. 登录与登出
#登录
ssh kim@119.23.72.172
#登出
exit
快速添加ssh远程用户
#添加用户
sudo useradd kim -d /home/kim
#设定sudo密码
sudo passwd kim
#创建目录及文件
sudo mkdir -p /home/kim/.ssh
sudo chown -R kim /home/kim/.ssh
sudo touch /home/kim/.ssh/authorized_keys
#修改权限
sudo chmod 700 /home/kim/.ssh
sudo chmod 700 /home/kim/.ssh/authorized_keys
systemctl start firewalld
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=419/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
systemctl restart firewalld #注意:重启防火墙,80端口是必须要开放的
#配置my.cnf文件 vim /etc/ssh/sshd_config
sudo service sshd restart && systemctl enable sshd
查看
#查看所有用户
cat /etc/passwd
#服务端查看登录情况
lastlog
解决问题
linux远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
07:36:8e:d0:72:88:38:f7:21:10:c3:12:d6:35:ad:55.
Please contact your system administrator.
Add correct host key in /Users/watsy/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/watsy/.ssh/known_hosts:1
RSA host key for 192.168.2.108 has changed and you have requested strict checking.
Host key verification failed.
__________________________________________________________________________________
#解决方法
rm -rf ~/.ssh/known_hosts
**