环境:ubuntu 16.04 / ubuntu 18.04
简介
openssh-server 的组件 (sshd) 持续监听来自任何客户端工具的连接请求。当一个连接请求发生时,sshd 根据客户端连接的类型来设置当前连接。
如果远程用户通过 openssh-client 应用程序(ssh)来连接,openssh-server 将在认证之后设置一个远程控制会话。
如果远程用户通过 openssh-client 应用程序(scp) 来连接 ,openssh-server 将在认证之后开始服务器和客户机之间的安全文件拷贝。
OpenSSH 可以支持多种认证模式,包括纯密码、公钥以及Kerberos 票据。
安装
Ubuntu默认并没有安装 openssh-server ,如果想要通过ssh远程连接到Ubuntu,需要自己手动安装 openssh-server
- 判断是否安装 openssh-server ,可以通过如下命令进行:
$ ps -e | grep ssh
1712 ? 00:00:00 ssh-agent # ssh-client
3559 ? 00:00:00 sshd # ssh-server
如果缺少sshd,说明 openssh-server 没有启动或者没有安装。
- 安装 openssh-client 应用程序,可以在终端提示符后使用以下命令:
$ sudo apt install openssh-client
- 安装 openssh-server 应用程序及相关的支持文件,可以在终端提示符后使用以下命令:
$ sudo apt install openssh-server
- 启动openssh-server:
$ sudo /etc/init.d/ssh start
启动后,再通过 " ps -e | grep ssh " 查看 openssh-server ( sshd ) 是否正确启动。
配置文件
openssh-client默认的配置文件:/etc/ssh/ssh_config
openssh-server默认的配置文件:/etc/ssh/sshd_config
- 修改 openssh-server默认的配置文件:/etc/ssh/sshd_config, 默认端口是222,:
$ sudo vim /etc/ssh/sshd_config
Port 222
- 修改 openssh-server默认的配置文件:/etc/ssh/sshd_config,允许root用户登录。
$ sudo vim /etc/ssh/sshd_config
PermitRootLogin yes # 允许root用户登陆
注:默认 openssh-server 不允许root用户登录
- 重启 openssh-server 即可生效
$ sudo /etc/init.d/ssh restart
openssh-client 应用程序(ssh)登录
$ ssh server-username@server-IP
openssh-client 应用程序(scp)
- 上传本地文件到服务器
$ scp /local_dir/filename server-username@server-IP:/server_dir/
- 从服务器上下载文件
$ scp server-username@server-IP:/server_dir/filename /local_dir/
- 上传目录到服务器
$ scp -r /local_dir/ server-username@server-IP:/server_dir/
- 从服务器下载整个目录
$ scp -r server-username@server-IP:/server_dir/ /local_dir/
参考网址: