一、换源

1、换源(使用阿里的源),请按此文章配置 Ubuntu20.04 安装与换源 – 星辉清梦 (xhqm.xyz)

二、安装ssh

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server #ssh服务器
sudo apt-get install openssh-client #ssh客户端

三、配置文件

1、客户端配置文件

###/etc/ssh/ssh_config
Host *	                    #只对能够匹配字串的计算机有效。“*”表示任意计算机
ForwardAgent no	            #设置连接是否经过验证代理(如果存在)转发给远程计算机
ForwardX11 no	            #设置X11连接是否自动定向到安全通道和显示集
RhostsAuthentication no	    #设置是否使用基于rhosts的安全验证
RhostsRSAAuthentication no  #设置是否使用用RSA算法的基于rhosts的安全验证
RSAAuthentication yes	    #设置是否使用RSA算法进行安全验证
PasswordAuthentication yes  #设置是否使用口令验证
FallBackToRsh no	    #设置如果用ssh连接出现错误是否自动使用rsh
UseRsh no	            #设置是否在这台计算机上使用“rlogin/rsh”
BatchMode no	            #是否禁用交互式口令。“yes”时对脚本和批处理有用
CheckHostIP yes	            #是否查看连接到服务器的IP地址以防DNS欺骗。建议“yes”
StrictHostKeyChecking no    #是否自动把密匙加入known_hosts文件,且密匙变化则拒绝连接
IdentityFile ~/.ssh/identity#设置从哪个文件读取用户的RSA安全验证标识
Port 22	                    #设置连接到远程主机的端口
Cipher blowfish	            #设置加密用的密码
EscapeChar ~	            #设置escape字符

2、服务器配置文件

###/etc/ssh/sshd_config
Port 22                       #默认22端口,可变更
Protocol 2,1                  #选择的SSH版本,1或2,使用2,1同时支持两者
ListenAddress 0.0.0.0         #主机多IP时,选择监听的主机IP
PidFile /var/run/sshd.pid     #可以放置 SSHD 这个 PID 的档案!左列为默认值
LoginGraceTime 600            #连上SSH后,输入密码的等待秒数,超时则断线
Compression yes               #是否可以使用压缩指令?
HostKey /etc/ssh/ssh_host_key     #SSH version 1 使用的私钥
HostKey /etc/ssh/ssh_host_rsa_key #SSH version 2 使用的 RSA 私钥
HostKey /etc/ssh/ssh_host_dsa_key #SSH version 2 使用的 DSA 私钥
KeyRegenerationInterval 3600      #version 1使用server的重连时间
ServerKeyBits 768                 #Server key 的长度!
SyslogFacility AUTH               #使用SSH登入系统的时候,SSH会记录信息
LogLevel INFO                     #登录记录的等级--->全部
PermitRootLogin no                #是否允许root登入!默认允许,建议设定成no
UserLogin no                      #是否接受login这个程序的登入
StrictModes yes                   #当使用者的host key改变之后,Server是否接受连接
RSAAuthentication yes             #是否使用纯的RSA认证?仅针对 version 1
PubkeyAuthentication yes          #是否允许Public Key?仅针对 version 2
AuthorizedKeysFile   .ssh/authorized_keys#使用无需密码的账号时,账号存放档案所在档名
RhostsAuthentication no           #是否使用 .rhosts
IgnoreRhosts yes                  #是否取消使用 ~/.ssh/.rhosts 来做为认证!
RhostsRSAAuthentication no        #是否使用rhosts档案,仅针对 version 1
HostbasedAuthentication no        #是否使用rhosts档案,仅针对 version 2
IgnoreUserKnownHosts no           #是否忽略~/.ssh/known_hosts档案所记录的主机内容
PasswordAuthentication yes        #是否密码验证
PermitEmptyPasswords no           #是否允许以空的密码登入
ChallengeResponseAuthentication yes#任何login.conf规定的认证方式是否均可适用
PAMAuthenticationViaKbdInt yes    #是否启用其它的PAM模块

与Kerberos 有关的参数设定!底下不用设定
KerberosAuthentication no
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes
KerberosTgtPassing no

有关在 X-Window 底下使用的相关设定
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

PrintMotd yes               #是否显示上次登入的时间地点等信息,默认yes
PrintLastLog yes            #显示上次登入的信息,默认yes 
KeepAlive yes               #Server是否传送KeepAlive给Client,以确保联机正常
UsePrivilegeSeparation yes  #使用者的权限设定
MaxStartups 10              #同时允许几个尚未登入的联机画面
DenyUsers *                 #设定禁止的使用者名称,黑名单
AllowUsers *                #设定允许的使用者名称,白名单

四、SSH命令

//服务端命令
停止服务# sudo service ssh stop
启动服务# sudo service ssh start
重启服务# sudo service ssh restart
查看服务# ps -e |grep ssh

//新建用户
sudo adduser 用户名
Enter new UNIX password: 输入密码
Enter new UNIX password: 重复输入密码
用户信息可以回车跳过,最后Yes确认即可。
用户信息会储存在/etc/passwd里,可用cat命令查看

//开机自启动
打开/etc/rc.local文件,在exit 0语句前加入:
/etc/init.d/ssh start

//客户端命令
连接# ssh [用户名]@[IP] -p [端口]

五、在ssh的基础上搭建sftp服务器

1、创建xftp用户

创建用户组# sudo groupadd [组名]
删除用户组# sudo groupdel [组名]
创建新用户# sudo useradd [用户名]
删除新用户# sudo userdel [用户名]
新用户密码# sudo passwd [用户名]  ##输入两次新密码
组添加用户# sudo gpasswd -a [用户名] [组名]
组删除用户# sudo gpasswd -d [用户名] [组名]
设置用户的home目录# sudo usermod -d [设置用户的home路径] [用户名] ##所有用户都设置

2、配置xftp

//配置sshd_config

1.vim /etc/ssh/sshd_config
将
Subsystem sftp /usr/libexec/openssh/sftp-server
替换为
Subsystem sftp internal-sftp    
    Match Group [组名]
    ChrootDirectory [sftp可访问的监狱目录根路径(监狱路径)]
    ForceCommand    internal-sftp    
    AllowTcpForwarding no    
    X11Forwarding no

2.设置目录权限和上传路径
chown root:[组名] [监狱路径/上传文件夹]

chown [组名]:[组名] [监狱路径/上传文件夹]
chmod 755 [监狱路径/上传文件夹]


————星辉20220228