Ubuntu下配置SSH登录

使用远程服务器的时候,一个好的远程连接工具是十分必要的。xshell就是不错的远程ssh工具。因此,我们有必要配置远程Linux服务器的ssh远程连接服务。

安装SHH服务

Ubuntu下默认安装了ssh客户端 openssh-client,远程服务器非必须安装,了解一下即可。

$ sudo apt-get install openssh-client

重点是要安装ssh服务端 openssh-server

$ sudo apt-get install openssh-server

安装成功后,ssh服务默认启动,此时可以使用远程Linux主机的用户名和密码进行远程登录了。

设置使用SSH key登录

首先需要生成ssh密钥对:

$ ssh-keygen -t rsa -P “”

生成过程中,可以输入密码,也可以直接回车,密码置空,看个人对安全工作的需求程度而定。

在 /home/user/.ssh 目录下,将生成的公钥追加到 authorized_keys 文件中

$ cd /home/user/

$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys

注意:此处写入的是生成的公钥文件,而非私钥!

如果 .ssh文件夹下没有 authorized_keys 文件也无所谓,执行上述代码之后,会自动生成。

给 authorized_keys 文件设置权限:

$ chmod 600 .ssh/authorized_keys

然后就可以通过ssh工具,输入用户名并且加载生成的私钥进行登录远程服务器了。

设置SSH只允许远程SSH key连接

有时候为了保证远程连接的安全性,服务器会设置取消用户名+密码连接的组合。

在 /etc/ssh 目录下,设置方式为:

$ cd /etc/ssh

$ sudo gedit sshd_conf

找到文本中的 PasswordAuthentication yes 字段,将 yes 改成 no ,保存后,重启ssh服务即可立即生效。

$ service ssh restart

这样就实现了最大化安全性能的ssh远程连接服务。

配置好了之后,就可以愉快的使用xshell在Windows系统下自由的管理远程Linux主机了。

Linux系统下文件(夹)权限问题

在使用xshell进行文件上传和下载时,可能会出现“permission is not allowed”的情况,这是由于Linux下,文件(夹)的用户权限控制导致的。出现此问题时,一般有以下两种解决方法:

  1. 可以选择使用 root 权限用户登录操作文件(夹);
  2. 使用chmod修改文件(夹)权限:

    $ chmod 777 “要修改的文件(夹)” # 777表示任意用户均可访问

    $ chmod -R 777 “要修改的文件夹” #递归设置文件夹下所有文件的权限

注意:本文中 /home/user/ 中,user文件夹代指的是当前Linux登录用户的用户文件夹,而非为 user 名称的文件夹。