跳转至

集群登录

集群登录方式为动态口令+密码,不支持密码和秘钥登录,集群可在校内和校外登录。校内登录IP地址和端口见管理员发送的账号信息邮件,校外登录专用的IP地址和端口号见登录集群后的欢迎信息提示。

集群登录IP地址和端口以下以 ipport 代称。

登录节点生成密钥

在校园网内登录个人的集群帐号(登录节点 mn02 ) ,输入google-authenticator 命令回车,然后一路Y回车,如下所示,即可生成用于手机端的密钥(secret key)以及备用登录口令,备用登录口令在手机端无法生成口令时使用,务必妥善保管,过程如下所示:

$ google-authenticator 

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/test@localhost%3Fsecret%3DURUUTDFSZJLINDA6WYNCPFLBOQ%26issuer%3Dlocalhost

  二维码   

Your new secret key is: URUUTDFSZJLINDA6WYNCPFLBOQ
Enter code from app (-1 to skip): -1
Code confirmation skipped
Your emergency scratch codes are:
  88914024
  73601356
  36327618
  38345087
  25344244

Do you want me to update your "/home/test/.google_authenticator" file? (y/n) y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y
  • 第一个"Y",选择用户口令生成方式,有基于时间和计数两种方式,填"Y"表示使用基于时间生成的用户口令,否则是基于计数方式。
  • 第二个"Y",更新 ~/.google_authenticator文件,该文件内存放生成的密钥、备用码,文件权限为400,安全起见,请勿更改该文件权限。
  • 第三个"Y",禁止一个口令多人使用。
  • 第三个"Y",允许手机和服务器之间的时间有一点的误差,默认为30s,即当前时间动态口令的前一个和后一个动态口令都可用,我们也可以将这个时间误差扩大到4min。
  • 第五个"Y",默认限制30s内尝试登录的次数为3次,防止服务器被暴力攻击。

Warning

google-authenticator 命令运行完成之后,注意检查~/.google_authenticator文件是否存在ls ~/.google_authenticator

账号的home目录权限只限于700750others权限不可开放,以及~/.google_authenticator文件的权限仅为400,否则二次验证会失败无法登录账号。

手机客户端生成动态验口令

app安装

在安卓的应用商店输入"身份验证器"或"google authenticator",IOS应用商店内输入"google authenticator"以搜索安装google authenticator身份验证软件。每个安卓应用商店搜索出来的软件不太一样,如小米应用商城搜索出来的为微软的"Authenticator",使用方式都大同小异。也可在集群用户qq群内群文件中下载google authenticator安卓安装包。

安卓手机也可以下载其它 TOTP 客户端APP 酷安

Tip

为方便日常使用,也可以使用浏览器插件来生成动态口令, chrome, firefox, edge。 也可以使用微信小程序 "数盾OTP" 来生成口令

app设置

以google authenticator为例

  • 点击"开始设置"

    Google_authenticator-1

  • 点击"手动输入动态口令"

    Google_authenticator-1

  • 填写账户信息

    在"账户"内随便填方便标识的字符串,有多个账户时方便标识,此处填写的"账户"与服务器账户无关。密钥内填刚刚生成的的密钥(secret key) URUUTDFSZJLINDA6WYNCPFLBOQ。软件根据该密钥生成对应的6位数动态口令,动态口令每30s自动更新一次。

    Google_authenticator-1

  • 最终效果

    Google_authenticator-1

Warning

此处的动态口令基于时间生成,登录节点的时间已经与标准时间同步,因此如果手机时间有误,则生成的动态口令不可用,每个动态口令只能使用一次。

密钥和备用口令位于 ~/.google_authenticator 内,如果遗忘密钥或更换手机,可查看该文件内的密钥重新设置app以生成动态口令。建议将秘钥在电脑上备份,以便更换手机后能重新设置app生成动态口令。

客户端登录

Windows

以xshell为例,IP地址和端口为 ipport ,用户名和密码为个人的集群用户名和密码。

  • 新建xshell会话,填写"会话名称"以及"IP地址"

    Google_authenticator-1

  • 点击右侧的"用户身份验证",身份方法选择"Keyboard Interactive",不能勾选"password",用户名填写服务器用户名,密码空着不能填写,点击确定。

    Google_authenticator-1

  • 尝试连接服务器,弹出"Verification code"窗口,填写手机上显示的6位数动态口令,点击确定。

    Google_authenticator-1

  • 在弹出的"Password"窗口内填写服务器用户密码,点击"确定"即可登录到服务器。如果出现 keyboard-interactive身份验证失败。请再试一次 的报错,则需要重新输入动态口令和密码。

    Google_authenticator-1

  • xshell成功登录之后,如果需要传输数据,可以点击xshell的sftp按钮,打开sftp,同时也会弹出与xshell类似的窗口以输入动态口令和用户密码。

linux/mac

使用ssh命令登录,IP地址和端口为 ipport ,用户名和密码为个人的集群用户名和密码。

注意不同的系统,指定登录端口的选项略有不同,有的选项为 -p (小写),有的选项为 -P (大写),如果出现端口相关的报错请更换选项。

$ ssh -p port username@ip
Verification code: 
Password: 
Last login: Wed Dec  8 16:55:49 2021 from xxx.xxx.xxx.xxx

数据传输

工具推荐:Xftp(Windows 推荐)、WinSCPTermius (macOS 推荐)、FileZilla(支持Windows、Linux、Mac OS三种平台)。

Xftp

Xftp 如长时间连接后传输文件出错,设置 会话 (Sessions)->属性 (Properties)->选项 (Options)->仅使用主连接 (Use main connection only)

WinSCP

WinSCP 不可使用后台传输 (Background Transfers)

FileZilla

二次验证设置

文件->站点管理器->新站点->协议:sftp->填写ip和端口->登录方式:交互式->用户:个人账号->连接

第一个弹窗输入6位动态口令,第二个弹窗输入个人账号密码

FileZilla 长时间空闲不操作连接会中断,须在站点 (Site)->传输设置 (Transfer Settings)->勾选限制并发连接数 (Limit number of simultaneous connections)->设置最大连接数 (Maximum number of connections)为1。

其它

vscode

在config文件中添加 KbdInteractiveAuthentication yes 以便连集群时进行二次验证。

Host cluster
    HostName login_ip
    User username
    Port login_port
    KbdInteractiveAuthentication yes

从其它服务器登录或传输数据

本集群的安全策略禁止在校内其它服务器上通过ssh登录本集群及使用scp往本集群传输数据。

如果需要从校内其他服务器往本集群上传输数据,可以在本集群上运行如下命令,即在本集群上使用scp获取在其他服务器上的数据。

$ scp -p port -r dir user@remote:~

Warning

在校外登录时,部分单位的网络环境中,可能单位的防火墙不允许使用非22端口对外登录服务器,表现为确认使用的登录IP和端口正确无误后,登录时仍然无法弹出输入动态口令和密码的窗口。建议与网络管理员沟通放行该端口,或者使用手机热点网络登录集群。

本文阅读量  次
本站总访问量  次