sudo apt-get install ssh sudo apt-get install openssh-server sudo service ssh start sudo service ssh suatus # 配置文件里可以开启:允许密码登录、允许root登录、端口等 sudo vim /etc/ssh/sshd_config sudo service ssh restart
# 在Windows上: ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME -b 2048 # 会生成两个文件,一个公钥,一个私钥 # 生成之后把公钥添加到服务器上,比如GitLab或者GCP都提供添加SSH公钥的选项 # Linux服务器上如何导入公钥?把公钥内容放在这个文件里:~/.ssh/authorized_keys
ssh user@host -i key_file
scp -i key_file source_path/xxx.zip user@host:/home/target_path scp -i key_file user@host:/home/xxx.zip ./target_path # 可以上传也可以下载,交换一下Source和Target的顺序就可以了 # 要上传到Linux服务器的压缩包记得使用utf-8编码压缩
在某些情况下,比如域名绑定的IP变了,就连不上去了,会有安全警告,这时候把known_hosts(一个文件)清空就行了,相当于清空连接历史。known_hosts一般在~或者我的文档
在MacOS上,如果密钥的权限设置不正确,可能是无法使用的,比如会看到类似下面的错误
ssh xxx@xxx -i xxx @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'xxx' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "xxx": bad permissions xxx@xxx: Permission denied (publickey).
这时需要修改一下密钥文件的权限
chmod 600 key_file
然后就可以正常登录了