我个人电脑使用的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
网友评论