美文网首页
01 shell 密钥登陆

01 shell 密钥登陆

作者: 123678 | 来源:发表于2021-08-07 02:36 被阅读0次

    我个人电脑使用的Ubuntu系统。在windows系统中,可以安装种类较多的远程登陆软件,如:xshell、mobaxterm、putty等,在linux系统中虽然也有相关的远程登陆软件,如:FinalShell等。但FinalShell自带的背景配色不是很喜欢,如果想要更换自己喜欢的背景色需要收费。

    在终端中可以使用ssh -P [port] 客户端用户名@服务器ip地址登陆。

    ssh -p 20001 vip9t22@123.456.789.10
    

    SSH全称为Secure Shell 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。SSH采用了非对称加密技术(RSA)加密了所有传输的数据,保证了连接的安全。
    但是每次使用SSH登陆需要输入密码,为了方便,可以使用密钥免密码登陆。

    • 1 在本地建立密钥
    cd ~ 
    ssh-keygen -t  rsa
    # 在家目录中就会多出一个隐藏文件夹 .ssh
    tree .ssh
    .ssh
    ├── id_rsa
    ├── id_rsa.pub
    └── known_hosts
    
    0 directories, 3 files
    

    在.ssh目录中会生成3个文件,其中id_rsa为私钥文件,id_rsa.pub为公钥文件。ssh会把你每个你访问过计算机的公钥(public key)都记录在known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

    • 2 在远程服务器中添加本地生成的公钥(id_rsa)
    cd ~
    cd .ssh
    touch authorized_keys # 创建授权文件,将id_rsa的内容复制到该文件中。
    
    图片.png

    之后再登陆和传输文件的时候就不需要再多次填写密码了。也可以将登陆的语句封装到shell脚本中,添加执行权限,再添加到环境变量中。直接在终端输入脚本名,就可以登陆。

    • 3 将登陆命令封装后成可执行命令
    echo "ssh -p 20001 vip9t22@123.456.789.10" >> vip9t22
    chmod +x vip9t22
    mv vip9t22  ~/wangjien/minconda/bin # conda 的bin目录之前已经添加到环境变量中
    source ~/.bashrc
    
    图片.png

    相关文章

      网友评论

          本文标题:01 shell 密钥登陆

          本文链接:https://www.haomeiwen.com/subject/rdcvpktx.html