对于不喜欢使用如XShell这种第三方虚拟终端,喜欢简单纯洁的终端的人来说,这篇文章或许会对你有帮助
Window端
上传公钥
要实现免密登录需要将公钥放到服务器上
生成密钥,根据提示输入yes,然后一直回车
ssh-keygen -t rsa
生成的密钥默认保存在:C:\Users\username\.ssh
下,username
是自己用户名,使用记事本或者其他文本编辑器打开id_rsa.pub
,复制里面的内容
打开cmd,ssh远程登录服务器
ssh username@ip
将公钥添加到服务器
vim ~/.ssh/authorized_keys
打开后右键点击,粘贴。
自定义命令
使用C程序调用system函数
#include <stdio.h>
#include <stdlib.h>
int main() {
// 使用 system 函数运行命令
int status = system("ssh username@ip"); //这里填入要以什么身份登录和服务器ip
printf("%d\n", status);
if(status == -1)
{
printf("Login error, error code: %d\n", status);
}
return 0;
}
在文件所在目录打开cmd,使用gcc编译
gcc autoLogin.c -o aLg
我的电脑-〉属性-〉高级-〉环境变量-〉系统变量-〉双击Path-〉新建-〉填入aLg.exe所在的目录
如我的是:C:\ProgramFiles\AutoLogin
打开cmd,输入aLg
就可以登录服务器了
Linux端
上传公钥
要实现免密登录需要将公钥放到服务器上
生成密钥,根据提示输入yes,然后一直回车
ssh-keygen -t rsa
将公钥复制到服务器:
ssh-copy-id user@server_ip
或者使用如下命令复制
cat ~/.ssh/id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
自定义命令
创建脚本
nano aLg.sh
输入如下内容
#!/bin/bash
ssh username@ip
加权
chmod +x aLg.sh
移动到系统的可执行路径下
sudo mv aly.sh /usr/local/bin/aLg
此时,打开终端,输入aLg
就可以登录服务器了