一、换源
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
Comments NOTHING