Ubuntu下配置SSH登录
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下,文件(夹)的用户权限控制导致的。出现此问题时,一般有以下两种解决方法:
- 可以选择使用 root 权限用户登录操作文件(夹);
使用chmod修改文件(夹)权限:
$ chmod 777 “要修改的文件(夹)” # 777表示任意用户均可访问
$ chmod -R 777 “要修改的文件夹” #递归设置文件夹下所有文件的权限