您的位置:首页 > 运维架构 > Shell

xshell远程连接ubuntu问题

2017-03-04 21:47 204 查看
         最近在用xshell的时候发现ip网络已经打开,就是无法远程连接,在网上搜了如下的解决方案,亲测可用!

确认步骤:

  (1)输入:ps -e |grep ssh 如果服务已经启动,则可以同时看到“ssh-agent”和“sshd”,如果没有启动,或没有安装服务 ;

  (2)输入sudo apt-get install openssh-server 安装服务。

  (3)可以测试用SSH连接本机看是否能成功登录。

  输入命令:ssh -l 用户名 host 然后会提示输入密码,如果正确就可以登录,同样,在客户端就可以使用SSH远程登录此服务器。网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务。最终成功的方法如下:

  sudo apt-get install openssh-server

  Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。

  然后确认sshserver是否启动了:

  ps -e |grep ssh

  如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start ,如果看到sshd那说明ssh-server已经启动了。

  ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:

  sudo /etc/init.d/ssh restart  ssh连接:ssh root@192.168.0.130

  断开连接:exit

 但是弄好这个登录的时候又出现了一个问题

            

我使用root登录,密码也没错啊?原来是ssh默认不允许root用户登录。咋办?于是改配置文件:我使用root登录,密码也没错啊?原来是ssh默认不允许root用户登录。咋办?于是改配置文件:

vim /etc/ssh/sshd-config,找到如下一行:

vim /etc/ssh/sshd-config,找到如下一行:

如图,把PermitRootLogin这一项后面的“prohibit-password”改为:“yes”,重启ssh服务,然后回到Xshell继续使用root登录,成功。

注意:如果不改这个,使用非root是可以用xshell登录的。

2.说说mysqlworkbench无法连接的问题。

首先首先我的环境:ubuntu10.04+mysql5.7+mysql workbench

我的报错提示是这样的:

“Failed to connect to mysql at ***:3306 with user **,cann't connect to mysql server on *** (10061)”,如图:

注意看最后的10061,这个就是拒绝连接的错误码。

修改如下文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf

这个我也不懂了,好在找到了资料,意思是,现在虽然mysql允许远程连接了,但是root用户还没有远程连接的权限,咋办呢?

创建一个新用户,并赋予它远程连接的权限:

1)登陆mysql

2)创建远程登陆用户并授权,在要链接的服务器上操作

mysql> grant all PRIVILEGES on *.* to 'username'@'xxx.xxx.xx.x' identified by 'password' WITH GRANT OPTION;

上面的语句表示将所有数据库的所有表的所有权限授权给 username 这个用户,允许 username 用户在 xxx.xxx.xx.x 这个 IP 进行远程登陆,并设置 username 用户的密码为 password。

分析参数:

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

*.* 表示上面的权限是针对于哪个表的,第一个*指的是数据库名称,后面的 * 表示对于所有的表,由此可以推理出:对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

username表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

xxx.xxx.xx.x 表示允许远程连接的 IP 地址,你的IP,如果想不限制链接的 IP 则设置为“%”即可

password 为用户username的密码。

接着执行如下语句是设置生效

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: